【问题标题】:How to make chrome extension hotkey work for ALL tabs?如何使 chrome 扩展热键适用于所有选项卡?
【发布时间】:2012-01-07 06:41:04
【问题描述】:

我在内容脚本中使用此代码在我的 Chrome 扩展程序中实现热键:

window.addEventListener("keydown", function(event) {
  var modifier = event.ctrlKey || event.metaKey;
  if (modifier && event.shiftKey && event.keyCode == 80) {
    // stuff happens here
  }
});

有没有什么方法可以在不使用 NPAPI 的情况下使此热键在 Chrome 选项卡(如新选项卡、扩展程序、设置等)上工作?

【问题讨论】:

  • 我相信这是不可能的。事实上,这是一件好事——如果你安装了一个扩展,然后它就能够劫持扩展页面,它可以更改各种设置,或者阻止你卸载扩展等。
  • 咩!但我不想在这些页面上做任何事情,除了向后台脚本发送请求。扩展真的没有办法注册自己的小热键吗?
  • 老实说,我认为这些特殊页面是隔离和保护的。但也许其他人可以提出解决方案。
  • 你应该请求在new.crbug.com 上实现热键 API,我绝对支持。
  • crbug.com/27702 中介绍了为扩展实现通用键盘快捷键。它正在积极工作中,但在完成之前,没有任何机制可以创建在用户积极使用 chrome://* 页面时有效的快捷方式。

标签: javascript google-chrome google-chrome-extension hotkeys


【解决方案1】:

您可以使用新的 chrome.experimental.keybinding api 并将您的热键设为全局 http://code.google.com/chrome/extensions/trunk/experimental.keybinding.html

【讨论】:

    猜你喜欢
    • 2023-03-27
    • 1970-01-01
    • 2015-12-05
    • 2013-04-17
    • 2012-12-19
    • 2016-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多