是否可以动态切换Chrome扩展程序的热键?

时间:2017-10-02 09:46:00

标签: google-chrome google-chrome-extension

我开发了Chrome扩展程序,并为Chrome扩展程序分配了一个热键(打开扩展程序弹出窗口)

虽然有些人喜欢快捷访问,但有些人抱怨热键与其他一些设置相冲突。

是否可以使用我自己的界面来控制热键行为,而不是要求用户转到chrome:// extensions / configureCommands进行设置?这很烦人,因为如果用户安装了很多扩展程序,那么找到我的扩展程序需要很长时间。

这是我设置热键的方式:

"commands": {
   "_execute_browser_action": {
     "suggested_key": {
       "windows": "Alt+Q",
       "mac": "Alt+Q",
       "chromeos": "Alt+Q",
       "linux": "Alt+Q"
     }
   },
   "_execute_page_action": {
     "suggested_key": {
       "default": "Alt+Q",
       "windows": "Alt+Q",
       "mac": "Alt+Q"
     }
   }
 }

1 个答案:

答案 0 :(得分:1)

可悲的是,没有。

这是您提供一个默认建议的预期行为,而扩展程序会先到先得。

不幸的是,你甚至不知道它是否有冲突。为了安全起见,你可以完全省略默认快捷方式,并始终指示用户自己设置。

您可以通过编程方式为chrome://extensions/configureCommands *的用户打开chrome.tabs.create,但不能强制它滚动到预期的输入。

*注意:这不适用于Firefox WebExtensions,因为扩展程序无法打开特权URL。为了公平起见,我不知道在Firefox中配置它的位置..

更新:我相信我弄错了。您可以使用chrome.commands.getAll()查询命令的状态,并且它应该返回当前快捷方式。因此,您应该能够检测到由于冲突而未设置快捷方式的时间。但除非指导用户修复它,否则你无法做任何事情。