Открыть всплывающее окно действия браузера с помощью сочетания клавиш

#javascript #google-chrome-extension

#javascript #google-chrome-расширение

Вопрос:

Я разрабатываю расширение Google Chrome с всплывающим окном действия браузера. Когда пользователь нажимает на значок, появляется всплывающее окно.

Есть ли способ открыть это всплывающее окно с помощью сочетания клавиш типа CTRL что-нибудь?

Ответ №1:

Вам нужно добавить "commands" объект в свой manifest.json , как показано на https://developer.chrome.com/extensions/commands . Если всплывающее окно вашего расширения является "browser_action" всплывающим окном (обозначается "browser_action" клавишей в вашем manifest.json ), вам понадобится "_execute_browser_action" команда; для "page_action" всплывающего окна вам понадобится "_execute_page_action" команда. Пример manifest.json использования первого выглядит следующим образом:

 {
  "manifest_version": 2,
  "name": "Example Extension",
  "description": "La la la",
  "version": "1.0",
  "browser_action": {
    "default_icon": "icon.png",
    "default_popup": "popup.html"
  },
  "commands": {
    "_execute_browser_action": {
      "suggested_key": {
        "default": "Ctrl Shift E",
        "linux": "Ctrl Shift K",
        "windows": "Alt Shift P",
        "mac": "Alt Shift P"
      }
    }
  }
}
  

Обратите внимание, что, согласно документам:

Некоторые сочетания клавиш Chrome (например, управление окнами) всегда имеют приоритет над сочетаниями команд расширения и не могут быть перезаписаны.

Насколько я знаю, канонического списка этих команд не существует; вам просто нужно поэкспериментировать с различными возможными предлагаемыми сочетаниями клавиш, пока не найдете то, которое действительно работает.

Ответ №2:

chrome.commands api позволяет пользователю привязывать горячие клавиши (с вашим предложением для горячей клавиши), которые будут запускать такие команды, как открытие действия браузера.

Ответ №3:

Извините, в настоящее время это невозможно. Вот соответствующий запрос функции, вы можете включить его.

Комментарии:

1. Как отмечалось в других ответах здесь, это уже неверно.