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. 帶鍵盤快捷鍵的菜單
- 4. 菜單的鍵盤序列快捷鍵
- 5. xcode功能菜單鍵盤快捷鍵
- 6. 無法將快捷鍵分配給VSIX動態菜單命令
- 7. 分配鍵盤快捷鍵QML組件
- 8. 將選項卡彈出到單獨窗口的鍵盤快捷鍵是什麼?
- 9. 組合框彈出並選擇使用鍵盤快捷鍵
- 10. eclipse egit:Team - > Show in History的菜單項和鍵盤快捷鍵
- 11. 鍵盤快捷鍵
- 12. 鍵盤快捷鍵
- 13. 查找:從鍵盤快捷鍵在vim中調用的命令
- 14. 如何從Windows命令行設置鍵盤快捷鍵?
- 15. 分配快捷鍵
- 16. 上下文菜單不開放的兒童鍵盤快捷鍵的菜單項
- 17. 指定快捷鍵命令
- 18. 命令提示快捷鍵
- 19. intellij:垂直分離鍵盤快捷鍵?
- 20. Netbeans鍵盤快捷鍵跳出語錄
- 21. Winform快捷鍵子菜單項
- 22. 菜單快捷鍵範圍
- 23. JButton鍵盤快捷鍵
- 24. Ember鍵盤快捷鍵
- 25. TextMate的鍵盤快捷鍵?
- 26. AutoHotKey鍵盤快捷鍵
- 27. 使用鍵盤快捷鍵
- 28. 鍵盤快捷鍵表格
- 29. Emacs多鍵盤快捷鍵
- 30. 運行鍵盤快捷鍵
出於興趣,你在哪裏挖掘出'chrome:// extensions/configureCommands' URL? – Xan
它是幾個月前在[Stylus](https://github.com/openstyles/stylus)中添加的,這是舊版Stylish擴展的新分支。 – wOxxOm
哦,它實際上在https://developer.chrome.com/extensions/commands#usage _的文檔中。「用戶可以從chrome:// extensions/configureCommands對話框中手動添加更多快捷方式。」_ – Xan