是否可以覆盖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