You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何拦截Ctrl-d快捷键?解决Tampermonkey脚本Ctrl-d失效问题

解决Ctrl-D无法触发脚本的问题

问题根源是Firefox内置快捷键的优先级:Ctrl+D是浏览器默认的「添加书签」快捷键,它的事件会在页面脚本的keyup事件之前被浏览器处理完成,导致你的脚本无法拦截到该事件。

修改方案如下:

  • 把监听的事件从keyup改为keydown——浏览器的默认动作通常在keydown阶段触发,这时候拦截更有效
  • 将事件监听的第三个参数设为true(启用捕获阶段),让脚本在浏览器处理事件之前先捕获到它

修改后的脚本:

(function() {
    'use strict';

    document.addEventListener('keydown', (ev) => {
        if (ev.ctrlKey && (ev.key == 'e' || ev.key == 'd')) {
            GM_log(ev);
            ev.preventDefault();
            ev.stopPropagation(); // 可选,进一步阻止事件传递给浏览器默认逻辑
        }
    }, true); // 启用捕获阶段
})();

额外提示:如果仍有问题,可以尝试添加ev.stopImmediatePropagation(),确保没有其他脚本或浏览器提前处理该事件。

内容的提问来源于stack exchange,提问作者ceving

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 05:21:01