Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google chrome extension chrome.commands键盘快捷键不工作_Google Chrome Extension - Fatal编程技术网

Google chrome extension chrome.commands键盘快捷键不工作

Google chrome extension chrome.commands键盘快捷键不工作,google-chrome-extension,Google Chrome Extension,我正在尝试向我的Chrome扩展添加一些键盘快捷键,特别是允许用户使用热键打开浏览器操作/弹出窗口。我已经阅读了文档,并在manifest.json文件中添加了以下代码行: 添加这个之后,我重新加载了我的扩展chrome://extensions 然后在我的Mac上尝试Command+Shift+Y,但什么也没发生。在大约2个小时的时间里,我尝试在manifest.json中设置不同的热键组合,但都没有成功。我从开发版的Chrome切换到稳定版,但没有用。当我去chrome://extensio

我正在尝试向我的Chrome扩展添加一些键盘快捷键,特别是允许用户使用热键打开浏览器操作/弹出窗口。我已经阅读了文档,并在manifest.json文件中添加了以下代码行:

添加这个之后,我重新加载了我的扩展chrome://extensions 然后在我的Mac上尝试Command+Shift+Y,但什么也没发生。在大约2个小时的时间里,我尝试在manifest.json中设置不同的热键组合,但都没有成功。我从开发版的Chrome切换到稳定版,但没有用。当我去chrome://extensions 点击右下角的“键盘快捷键”按钮,我可以手动设置热键组合,然后它就开始工作了。但是我不想让用户不得不做那些手工工作。

你(和我)的Command+Shift+Y按键很可能被另一个OSX应用程序(可能是粘滞的)使用

这适用于我的Mac/Chrome组合(将Y改为U):


它对你有用吗?

在我将快捷键设置为只包含一个Ctrl/Cmd/Alt/Shift后,不知何故,键盘快捷键开始工作。因此,Alt+S起作用,但Alt+Shift+S不起作用。

Chrome 29上,您必须导航到
chrome://extensions/
并向下滚动至页面底部。右侧有一个按钮
键盘快捷键

模式对话框弹出,其中包含在清单文件中注册了一些
命令的所有扩展名。

但是快捷方式本身未设置
,因此用户必须手动设置。

如果使用console.log测试快捷方式,它将不会显示。也许可以用chrome.tabs.create({url:})来测试它


这将需要对“选项卡”的权限。

如果在加载扩展后修改了代码,则需要删除并重新加载它。

正如您在此处的源代码中所看到的:

密钥绑定更新仅在触发OnExtensionWillBeInstalled回调时运行

因此,您需要卸载并重新安装本地扩展,以查看默认键盘命令出现在:
chrome://extensions/configureCommands

我也遇到了同样的问题,即“\u执行\u浏览器\u操作”键盘快捷键没有自动设置,尽管与任何现有快捷键都没有冲突

原来我的问题是由以下原因造成的:

...
"commands" : {
"_execute_browser_action": {
        "suggested_key": {
          "mac": "Alt+J",
          "linux": "Ctrl+Shift+J"
        },
      "global": true <-- this shouldn't be here
      }
...
。。。
“命令”:{
“\u执行\u浏览器\u操作”:{
“建议的_键”:{
“mac”:“Alt+J”,
“linux”:“Ctrl+Shift+J”
},

“全局”:正确添加以上所有正确答案:在“扩展”页面中删除并添加扩展后,快捷方式仍然不适用于我正在使用的当前窗口。它只在我打开一个新的chrome窗口后才起作用。

伙计们,这很明显

  • Ctrl
    +
    Shift
    +
    J
  • Ctrl
    +
    Shift
    +
    S
  • Ctrl
    +
    Shift
    +
    U
所有这些都是内置的浏览器功能!
不能被覆盖!
只需简单地使您的快捷方式不是内置的。

可以找到Chrome浏览器快捷方式列表

例如:

  • Ctrl
    +
    Shift
    +
    L
将根据以下条件触发
浏览器\u操作

用户可以使用中的UI自由地将任何快捷方式指定为全局chrome://extensions \键盘快捷键,但扩展名开发者仅限于指定Ctrl+Shift+[0..9]作为全局快捷方式。这是为了最大限度地降低在其他应用程序中重写快捷方式的风险,因为例如,如果允许Alt+P作为全局快捷方式,则打印快捷方式可能在其他应用程序中不起作用


以上是你的实际快捷方式吗?意思是你确定你没有试图接管一个现有的Chrome快捷方式,它会有优先权吗?我尝试了一系列不同的热键组合,但都不起作用。我很确定Chrome没有使用这些热键。不,这也不起作用。不过你有一个有趣的观点,可能是even Ctrl+Shift+U被我机器上的其他东西使用。请确认,以下是您遵循的步骤顺序,对吗?1)使用建议的键修改manifest.json 2)转到chrome://extensions 并重新加载扩展3)转到随机选项卡,尝试Command+Shift+U,浏览器操作弹出窗口应打开,或者可能是我的Chrome已经禁用了键盘快捷键?如果是,我如何启用它们?是的,所以下载这个:只需更改“命令”我贴在上面的东西,它能工作…嗯…仍然没有运气…即使我在Chrome中重新加载扩展,快捷方式也不会自动注册,直到我去手动设置它。谢谢!两个小时后,我试图理解为什么快捷方式不能工作…我想谷歌需要更新他们的文档!@Tomerico:事实证明,这些文档并不是完全错误的:错误当且仅当当前没有其他操作绑定到建议的键时,建议的键才能正常工作。还有一件事没有提到,在更新清单中的
commands
属性后,需要卸载并重新安装扩展才能使更改生效(因为重新加载或仅禁用并重新启用将不起作用)@ExpertSystem很合算。我必须删除扩展,然后重新安装它,以使“commands”指令正常工作。谢谢!我仍在试图弄清楚为什么在链接的键盘快捷键页面上,Mac会获得windows和linux都没有的“页面设置对话框”的额外Cmd+Shift+P-我想这意味着打印…什么也不做。谷歌的方式!这是全局快捷方式,原始帖子没有使用全局键表示它们是全局的,所以这不适用于
"browser_action": {
  "default_popup": "browser_action.html"
},
"commands": {
  "_execute_browser_action": {
    "suggested_key": {
      "default": "Ctrl+Shift+U",
      "windows": "Ctrl+Shift+U",
      "mac": "Command+Shift+U",
      "chromeos": "Ctrl+Shift+U",
      "linux": "Ctrl+Shift+U"
    }
  }
}
...
"commands" : {
"_execute_browser_action": {
        "suggested_key": {
          "mac": "Alt+J",
          "linux": "Ctrl+Shift+J"
        },
      "global": true <-- this shouldn't be here
      }
...