Google chrome extension chrome.commands键盘快捷键不工作
我正在尝试向我的Chrome扩展添加一些键盘快捷键,特别是允许用户使用热键打开浏览器操作/弹出窗口。我已经阅读了文档,并在manifest.json文件中添加了以下代码行: 添加这个之后,我重新加载了我的扩展chrome://extensions 然后在我的Mac上尝试Command+Shift+Y,但什么也没发生。在大约2个小时的时间里,我尝试在manifest.json中设置不同的热键组合,但都没有成功。我从开发版的Chrome切换到稳定版,但没有用。当我去chrome://extensions 点击右下角的“键盘快捷键”按钮,我可以手动设置热键组合,然后它就开始工作了。但是我不想让用户不得不做那些手工工作。你(和我)的Command+Shift+Y按键很可能被另一个OSX应用程序(可能是粘滞的)使用 这适用于我的Mac/Chrome组合(将Y改为U):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
它对你有用吗?在我将快捷键设置为只包含一个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
}
...