是否可以覆蓋Ctrl + D?我想,例如console.log
什麼的,而不是將鏈接添加到書籤。覆蓋Chrome中的書籤快捷鍵(Ctrl + D)功能
回答
使用chrome.commands
API可以覆蓋快捷方式。擴展可以表明,在manifest文件默認的快捷方式(例如,按Ctrl + d。),但用戶可以自由在chrome://extensions/
覆蓋此,如下所示:
使用
此API仍在開發中,僅在Beta和Dev頻道可用,而Canary構建More info。它可能適用於Chrome 24開始的所有人。
如果要在Chrome 23或更低版本中測試API,請將「實驗」權限添加到清單文件中,並使用chrome.experimental.commands
而不是chrome.commands
。同時訪問chrome://flags/
並啓用「實驗性擴展API」,或使用--enable-experimental-extension-apis
標誌啓動Chrome。
manifest.json
{
"name": "Remap shortcut",
"version": "1",
"manifest_version": 2,
"background": {
"scripts": ["background.js"]
},
"permissions": [
"tabs"
],
"commands": {
"test-shortcut": {
"suggested_key": {
"default": "Ctrl+D",
"mac": "Command+D",
"linux": "Ctrl+D"
},
"description": "Whatever you want"
}
}
}
background.js
// Chrome 24+. Use chrome.experimental.commands in Chrome 23-
chrome.commands.onCommand.addListener(function(command) {
if (command === 'test-shortcut') {
// Do whatever you want, for instance console.log in the tab:
chrome.tabs.query({active:true}, function(tabs) {
var tabId = tabs[0].id;
var code = 'console.log("Intercepted Ctrl+D!");';
chrome.tabs.executeScript(tabId, {code: code});
});
}
});
文檔
這是沒有必要使用chrome.commands
- 您可以使用內容腳本套住事件,呼籲preventDefault
和stopPropagation
它,處理它,但是你想。示例代碼段應工作爲內容腳本的一部分:
document.addEventListener('keydown', function(event) {
if (event.ctrlKey && String.fromCharCode(event.keyCode) === 'D') {
console.log("you pressed ctrl-D");
event.preventDefault();
event.stopPropagation();
}
}, true);
不能覆蓋這種方式唯一的東西是窗口處理命令,就像ctrl-N
和ctrl-<tab>
。
這在以下所有情況下都不起作用:1.在頁面的上下文之外,如多功能框。 2.受限制的頁面,例如新標籤頁或Chrome網上應用店。 3.隱身模式或'file://'沒有適當的權限。不過,這是舊版Chrome的唯一方法。 –
- 1. 覆蓋系統快捷鍵
- 2. 攔截Android系統鍵盤快捷鍵以覆蓋功能
- 3. 在javascript/jquery中覆蓋CMD + N或CTRL + N快捷鍵?
- 4. javascript:覆蓋瀏覽器的默認快捷鍵(Ctrl + anyKey)
- 5. Ctrl + R,Ctrl + D和Ctrl + R,D visual studio快捷鍵有什麼區別?
- 6. 鍵盤快捷鍵訪問Chrome書籤(mac)
- 7. 在Firefox和鉻覆蓋快捷鍵
- 8. Firefox:覆蓋Alt + s快捷鍵
- 9. Rstudio中的快捷鍵Ctrl + Alt + F
- 10. Android Studio的鍵盤快捷鍵:ctrl + o
- 11. 快捷鍵Ctrl + E,D將無法在2012年工作
- 12. 禁用並覆蓋IE8中的鍵盤快捷鍵事件
- 13. 覆蓋瀏覽器的鍵盤快捷鍵
- 14. 如何設置快捷鍵快捷鍵「Ctrl +加號」
- 15. NSIS覆蓋快捷方式
- 16. 延遲用Ctrl + S鍵盤快捷鍵
- 17. 覆蓋/覆蓋功能內的功能
- 18. xcode功能菜單鍵盤快捷鍵
- 19. 覆蓋Dotnet樹視圖快捷鍵/熱鍵
- 20. 再結合的Eclipse快捷爲Ctrl + M鍵,Ctrl + U鍵,Ctrl + J,或Ctrl + [失敗
- 21. SublimeText3:覆蓋的鍵盤快捷鍵百分比
- 22. 在Chrome中覆蓋功能鍵默認操作
- 23. 來回功能的Eclipse快捷鍵
- 24. 快捷鍵的每個功能
- 25. vscode全球鍵盤快捷鍵擴展覆蓋
- 26. 快捷鍵使用Ctrl在GVIM
- 27. 如何處理按Ctrl + X快捷鍵
- 28. 下一頁/上一頁(CTRL - >/< - CTRL)在ASP.NET中的鍵盤快捷鍵
- 29. Chrome自定義標籤的關閉按鈕功能覆蓋
- 30. 如何擺脫Aptana Ctrl-q快捷鍵
Tx,這個工程。但是您應該記住,即使在「配置命令」對話框中更改了快捷方式,也會永久覆蓋Ctrl + D。也就是說,用戶將無法使用/打開默認的Chrome對話框來創建書籤。 – cnmuc