可以在Chrome扩展后台JS中注册密钥绑定吗?

时间:2012-06-28 15:06:21

标签: javascript google-chrome google-chrome-extension keyboard-shortcuts

我有一个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中听取按键?

1 个答案:

答案 0 :(得分:3)

不,你不能......

您可能已经知道,后台页面在不同的页面中运行(即使是不同的过程)。基于javascript的处理程序可以在他们放入的页面上工作。只有当Chrome公开某些API时,您所说的内容才有可能。

但是,您可能希望在http://code.google.com/chrome/extensions/experimental.keybinding.html检查chrome的键绑定功能(实验性),但它仅限于特定的键绑定子集

正如Rob W所提到的,设计中的键绑定仅适用于可插入内容脚本的页面,其中或多或少可归结为http,https&文件协议(我不确定文件协议),但Chrome的Webstore

除外