Unc*_*roh 2 javascript keyboard-shortcuts keyboard-events userscripts tampermonkey
我以为我发现了一个tampermonkey脚本,但它不起作用.你有什么智慧吗?
https://greasyfork.org/en/scripts/31704-imgur-remove-key-listener
如何禁用网站快捷键键盘热键?我使用Push to talk discord,键干扰了我的浏览体验.
我搜索谷歌搜索"unbind网站热键 - 浏览器"和"脚本禁用删除网站键盘热键"和"禁用imgur热键",但前20个链接没有结果.
// ==UserScript==
// @name Imgur remove key listener
// @namespace xxx
// @description Removes the key shortcuts on imgur
// @include *://imgur.com/*
// @version 1
// @grant none
// @locale en
// ==/UserScript==
$(document).unbind('keydown').unbind('keyup');
Run Code Online (Sandbox Code Playgroud)
当我按下键盘上的波形符/重音键时,上传对话框不应出现在imgur网站上.
侦听器看起来不是同步添加的,因此同步运行的用户脚本不会删除侦听器.
另一种方法是window在捕获阶段添加一个监听器,并调用stopPropagation事件:
['keydown', 'keyup'].forEach((eventName) => {
window.addEventListener(
eventName,
(e) => {
e.stopPropagation();
},
true // capturing phase - very important
);
});
Run Code Online (Sandbox Code Playgroud)
这将阻止添加到子节点的侦听器触发.为了防止window 在从触发添加此侦听器之后添加到侦听器,您可以调用e.stopImmediatePropagation().
这种技术不起作用的唯一情况是,如果页面window 在用户脚本运行之前添加了自己的侦听器.
为了确保您的脚本尽快执行(您希望自己的侦听器尽快附加),您可以放置
// @run-at document-start
Run Code Online (Sandbox Code Playgroud)
在元数据块中,遗憾的是,这可能有所帮助,但并不完全可靠.
| 归档时间: |
|
| 查看次数: |
65 次 |
| 最近记录: |