Google chrome extension Chrome命令API

Google chrome extension Chrome命令API,google-chrome-extension,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 Ma

我从使用命令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对我不起作用。

Commenter提供了正确的答案:


您正在使用未打包的分机吗?您需要删除并重新添加扩展,以便考虑建议的shorcut密钥


我遇到了同样的问题,这些建议没有帮助。我发现:由于您在
background:{}
部分使用侦听器声明了脚本,它会登录到后台页面。您可以通过点击
chrome://extensions
。这就是侦听器登录的位置

如果您尚未执行此操作,请转到
chrome://extensions
并使用右下角的“键盘快捷键”链接检查您的按键是否有效分配给命令。好吧,我完全不知道“键盘快捷键”链接。所以我在那里设置了快捷方式,现在可以了。那么,“建议的密钥”选项有什么好处呢?它甚至没有作为建议选项显示在“键盘快捷键”窗口中。顺便问一下,谢谢你,你是在使用未打包的分机吗?您需要删除并重新添加扩展,以便考虑建议的shorcut密钥。是的,您是对的。再次感谢您,不,至少对于当前版本(Chrome 34),用户必须使用本页底部的“键盘快捷键”链接手动更改这些快捷键:chrome://extensions/ -请注意,首次安装扩展时,将添加所有热键,但随后的变化将不会发生。要想弄清楚这一点,可能要花很长时间。