在用户脚本中捕获keydown事件并将其隐藏在网站中

时间:2014-09-02 19:45:48

标签: javascript greasemonkey keyboard-events userscripts

我需要在用户脚本中捕获keydown事件,并从网站本身隐藏该事件。即该网站不应该能够检测到按键。

我在Greasemonkey用户脚本中尝试了以下代码:

// ==UserScript==
// @name        test
// @namespace   www.robertnitsch.de
// @description test
// @include     https://www.robertnitsch.de/test/
// @version     1
// @grant       none
// ==/UserScript==

document.addEventListener("keydown", function(evt) {
    console.log("userscript", evt);
    evt.stopPropagation();
    return false;
}, true);

但是,该页面仍然可以检测到keydown事件,可以在我的测试网站上进行验证:https://www.robertnitsch.de/test/

我正在测试简单的键,如a,s,d等。

2 个答案:

答案 0 :(得分:2)

// ==UserScript==
// @name         test
// @namespace    http://stackoverflow.com
// @version      1.0
// @description  http://stackoverflow.com/questions/25631170/capture-keydown-event-in-userscript-and-hide-it-from-the-website
// @include      https://www.robertnitsch.de/test/
// @author       zanetu
// @grant        none
// @run-at       document-start
// ==/UserScript==

document.addEventListener('keydown', function(event) {
    event.stopImmediatePropagation();
}, true);

答案 1 :(得分:0)

<!DOCTYPE html>
<html>
<head>
    <script src="jquery.js"></script>
    <script type="text/javascript">

$(document).ready(function(){
$('*').off('keyup keydown keypress');
});
    </script>
</head>

<body>
test
</body>
</html>

以上代码有效!!

检查并确认!!