0

我有一个自定义键盘快捷键的 Chrome 扩展,它当前使用内容脚本注册快捷键。是否可以在从 background.html 调用的后台 JS 文件中注册这些?在我的测试中,似乎在那里注册的绑定被忽略了,因为它们直接进入页面。

如果重要的话,我正在使用https://github.com/madrobby/keymaster创建/监听键绑定。例如,使用类似的东西:

key('a', function(){ alert('you pressed a!') });

...在我的 background.js 文件中被忽略,但如果在内容脚本中使用它可以正常工作。有什么方法可以在我的 background.js 中监听按键吗?

4

1 回答 1

3

你不能...

您可能已经知道,后台页面在不同的页面(甚至是不同的进程)中运行。并且基于 javascript 的处理程序在它们所在的页面上工作。你所说的只有在 Chrome 公开一些 API 时才有可能。

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

正如 Rob W 所提到的,设计的键绑定仅适用于可以插入内容脚本的页面,这或多或少归结为 http、https 和文件协议(虽然我不确定文件协议),但 Chrome 的除外网上商店

于 2012-06-30T13:30:58.217 回答