我有一个Chrome extension for custom keyboard shortcuts,它目前使用内容脚本注册快捷方式。是否可以在从background.html调用的后台JS文件中注册这些?在我的测试中,似乎注册的绑定被忽略了,因为它们直接进入页面。
如果重要,我使用https://github.com/madrobby/keymaster创建/监听密钥绑定。例如,使用类似的东西:
key('a', function(){ alert('you pressed a!') });
...在我的background.js文件中被忽略,但如果在内容脚本中使用它可以正常工作。有没有办法在我的background.js中听取按键?
答案 0 :(得分:3)
不,你不能......
您可能已经知道,后台页面在不同的页面中运行(即使是不同的过程)。基于javascript的处理程序可以在他们放入的页面上工作。只有当Chrome公开某些API时,您所说的内容才有可能。
但是,您可能希望在http://code.google.com/chrome/extensions/experimental.keybinding.html检查chrome的键绑定功能(实验性),但它仅限于特定的键绑定子集
正如Rob W所提到的,设计中的键绑定仅适用于可插入内容脚本的页面,其中或多或少可归结为http,https&文件协议(我不确定文件协议),但Chrome的Webstore
除外