Chrome命令API

时间:2013-10-25 21:29:05

标签: google-chrome-extension

我已从使用命令API的Chrome文档中加载此示例扩展程序。

的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对我不起作用。

2 个答案:

答案 0 :(得分:12)

评论者rsanchez提供了正确答案:

  

您是否使用解压缩的扩展程序?您需要删除并重新添加建议的短切键的扩展名才能被考虑。

答案 1 :(得分:0)

我遇到了同样的问题,这些建议没有帮助。这是我想到的:因为您在background: {}部分中使用侦听器声明了脚本,所以它会记录到后台页面。您可以通过点击chrome://extensions扩展名下方的“检查背景页面”来专门查看该日志。这是监听器记录的位置。