对键绑定谷歌浏览器扩展的操作

use*_*745 1 html javascript jquery key-bindings google-chrome-extension

有人可以解释我如何将一个键同样"ctrl + k"绑定到一个javascript代码链接到谷歌Chrome扩展程序?这应该适用于任何打开的网页.

rsa*_*hez 6

在清单中,您指定:

"commands": {
  "my-command-name": {
    "suggested_key": {
      "default": "Ctrl+K",
    },
    "description": "My description"
  }
}
Run Code Online (Sandbox Code Playgroud)

然后,在您的后台页面中,您可以:

chrome.commands.onCommand.addListener(function(command) {
  if(command === "my-command-name") {
     // Do your stuff
  }
});
Run Code Online (Sandbox Code Playgroud)

编辑

一个问题似乎是Ctrl+KChrome默认不会分配组合,因为它通常用于其他目的.如果指定Ctrl+K为默认快捷方式,则该命令将不会分配快捷方式,并且用户需要从chrome://extensions页面底部的"键盘快捷方式"链接中指定一个快捷方式.

如果您使用其他组合,Ctrl+Shift+KChrome可能会自动分配.您始终可以在所提及的链接中检查shorcuts分配,并以编程方式使用chrome.commands.getAll.

另请注意,如果更改清单并重新加载扩展名,则建议的快捷键中的更改将不起任何作用.您需要删除扩展并再次添加它以便考虑建议的shorcut键.