API команд Chrome - программирование
Подтвердить что ты не робот

API команд Chrome

Я загрузил это расширение образца из документов Chrome, которые используют команды API.

manifest.json

{
"name": "Sample Extension Commands extension",
  "description": "Press Ctrl+Shift+F (Command+Shift+F on a Mac) to open the browser action popup, press Ctrl+Shift+Y to send an event (Command+Shift+Y on a Mac).",
  "version": "1.0",
  "manifest_version": 2,
  "background": {
    "scripts": ["background.js"],
    "persistent": false
  },
  "browser_action": {
    "default_popup": "browser_action.html"
  },
  "commands": {
    "toggle-feature": {
      "suggested_key": { "default": "Ctrl+Shift+Y" },
      "description": "Send a 'toggle-feature' event to the extension"
    },
    "_execute_browser_action": {
      "suggested_key": {
        "default": "Ctrl+Shift+F",
        "mac": "MacCtrl+Shift+F"
      }
    }
  }
}

background.js

chrome.commands.onCommand.addListener(function(command) {
  console.log('onCommand event received for message: ', command);
});

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

4b9b3361

Ответ 1

Комментарий rsanchez дает правильный ответ:

Вы работаете с распакованным расширением? Вам необходимо удалить и повторно добавить расширение для предложенных команд shorcut.

Ответ 2

Я столкнулся с той же проблемой, и эти предложения не помогли. Вот что я понял: поскольку вы объявили script с прослушивателем в разделе background: {}, он регистрируется на фоновом экране. Вы можете увидеть этот журнал, нажав кнопку "Проверить страницу фона" прямо под расширением на chrome://extensions. что там, где прослушивает журнал.