我正在开发扩展程序,我希望我的chrome扩展程序通过命令说(mac:“ CMD + SHIFT + 9”或默认值:“ Ctrl + Shift + 9”)来切换(显示/隐藏);虽然我在清单文件中定义了命令:
{
.........
"commands": {
"toggle-window": {
"suggested_key": {
"default": "Ctrl+Shift+9",
"mac": "Command+Shift+9"
},
"description": "Toggle feature foo",
"global": true
},
........
}
现在,我可以在backgroundScript.js中做什么呢?
我的backgroundScript.js是:
chrome.commands.onCommand.addListener(function(command) {
if(command === "toggle-window") {
console.log('Command:', command);
/* Logic to show/hide will go here..*/
}
});
我该怎么做?谢谢!
实现了此“显示/隐藏”功能的示例扩展演示:
https://chrome.google.com/webstore/detail/meldium-browser-extension/fdocegmnehjgfhfjelhmaobjccoiklle
经过长时间的研究,我终于把它解决了。首先,感谢@CViejo,他给了我有关该问题的提示:
“只要在清单文件中使用“ _execute_browser_action”而不是“ toggle-window”,Chrome就会为您处理此功能。
我像@CViejo这样更新了manifest.js文件:
{
.........
"commands": {
"_execute_browser_action": {
"suggested_key": {
"default": "Ctrl+Shift+9",
"mac": "Command+Shift+9"
}
}
........
}
然后,我重新加载了扩展程序,但是它仍然没有用..然后我只是在扩展程序页面的底部找到了键盘快捷方式框,我在网上阅读了该信息,它基本上可以帮助我们“验证建议的键是否确实在那里设置了”在清单文件中定义的“键盘快捷方式”框中。我选中了键盘快捷键框,即使该键可用并已在清单中定义,也未设置该键。
然后从堆栈溢出中,我发现了这一点(这是主要错误):https : //stackoverflow.com/a/25654514/5228251
正如您在此处的源代码中所看到的:https : //code.google.com/p/chromium/codesearch#chromium/src/chrome/browser/extensions/api/commands/command_service.cc&l=303&sq=package : chromium&rcl= 1409677023
仅在触发OnExtensionWillBeInstalled回调时才运行键绑定更新。
因此,您需要卸载并重新安装本地扩展,才能看到默认键盘命令出现在:chrome:// extensions / configureCommands
我只是卸载了重新安装的解压缩扩展程序,并检查了默认键盘命令是否出现在chrome:// extensions / configureCommands中
它开始在我的扩展程序中起作用...
非常感谢@CViejo和@Stephane Brillant ...
愿这也能帮助其他人.....
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句