Chrome API可以让用户从扩展弹出菜单或选项页面中分配键盘快捷键吗?没有他们必须去扩展页面,滚动到底部并打开键盘快捷菜单。从弹出菜单或选项分配命令键盘快捷键
1
A
回答
4
没有办法以编程方式指定快捷键,但可以在扩展弹出窗口中添加一个按钮或链接,以打开内置对话框。
popup.html:
<button id="hotkey">Assign a shortcut key</button>
<script src="popup.js"></script>
popup.js:
document.getElementById('hotkey').onclick =() => chrome.tabs.create({
url: 'chrome://extensions/configureCommands'
});
注:
铬://网址只能通过铬/ WebExtensions API方法被打开,
但不能通过<a href="...">
直接链接。您仍然可以使用标准的
<a>
链接与上面显示的点击侦听器;只是不要忘了阻止默认点击事件,以避免在控制台中的错误:document.getElementById('hotkey').onclick = event => { chrome.tabs.create({url: 'chrome://extensions/configureCommands'}); event.preventDefault(); };
在Opera浏览器的URL是
opera://settings/configureCommands
可以使用navigator.userAgent
串在检测浏览器Firefox没有UI来自定义WebExtensions命令快捷键。
一个可能的增强是首先检查是否有这样的网址在一些标签,按我们的按钮已经打开:
chrome.tabs.query({url: 'chrome://extensions/configureCommands'}, tabs => { if (tabs && tabs[0]) { chrome.tabs.update(tabs[0].id, {active: true}); chrome.windows.update(tabs[0].windowId, {focused: true}); } else { chrome.tabs.create({url: 'chrome://extensions/configureCommands'}); } });
但是,它不会找到对话框中手动调用对铬:// extensions页面因为它不会更改网址。
在manifest.json中可能需要
"permissions": ["tabs"]
或至少["activeTab"]
。
相关问题
- 1. 键盘快捷键为WPF菜单项
- 2. 键盘快捷键的命令路由
- 3. xcode功能菜单键盘快捷键
- 4. eclipse egit:Team - > Show in History的菜单项和键盘快捷键
- 5. 键盘快捷键
- 6. 分配快捷键
- 7. 上下文菜单不开放的儿童键盘快捷键的菜单项
- 8. 键盘快捷键重命名变量?
- 9. 指定快捷键命令
- 10. Netbeans键盘快捷键跳出语录
- 11. 菜单快捷键范围
- 12. 键盘快捷键在MDI
- 13. 禁用键盘快捷键
- 14. JButton键盘快捷键
- 15. 听键盘快捷键(c#)
- 16. 实现键盘快捷键
- 17. 键盘快捷键表格
- 18. Python键盘快捷键
- 19. 使用键盘快捷键
- 20. WebBrowser键盘快捷键
- 21. iPhone/iPad键盘快捷键?
- 22. TextMate的键盘快捷键?
- 23. 打开浏览器操作的弹出式键盘快捷键
- 24. 您可以为Windows CMD命令设置键盘快捷键吗?
- 25. 如何获得给定键盘快捷键的emacs命令?
- 26. 键盘快捷键JQUERY - 命令+ S,控制+ S
- 27. xfce4:是否有键盘快捷键的命令列表?
- 28. TextMate:如何找到与键盘快捷键相关的命令?
- 29. 如何获取给定emacs命令的键盘快捷键?
- 30. 命令行C和键盘快捷键(在Mac OS中)
出于兴趣,你在哪里挖掘出'chrome:// extensions/configureCommands' URL? – Xan
它是几个月前在[Stylus](https://github.com/openstyles/stylus)中添加的,这是旧版Stylish扩展的新分支。 – wOxxOm
哦,它实际上在https://developer.chrome.com/extensions/commands#usage _的文档中。“用户可以从chrome:// extensions/configureCommands对话框中手动添加更多快捷方式。”_ – Xan