gpt4 book ai didi

javascript - 使用 Greasemonkey 删除 javascript 函数

转载 作者:数据小太阳 更新时间:2023-10-29 06:02:39 26 4
gpt4 key购买 nike

我访问一个在 HTML 头部有一个 javascript 文件的网站

<script language="javascript" src="javscript.js"></script>

这个文件里面的代码是:

// keypress management 
if (document.layers) document.captureEvents(Event.KEYPRESS)
function update(e) {
if (document.all) { // Explorer
if (event.keyCode==13) document.forms[0].submit(); // 13 = ENTER
else if (event.keyCode==26) runHelp(hplk); // 26 = CTRL+Z
return;
} else { // mozilla
if (e.which==13) document.forms[0].submit(); // 13 = ENTER
else if (e.which==26) runHelp(hplk); // 122 = CTRL+Z
return;
}
}
document.onkeypress=update;

我想用 Greasemonkey 禁用/删除/替换此功能。

我试过

unsafeWindow.update = function(){}

没有结果! (在控制台中没有错误)

有没有办法终止这个函数?

最佳答案

不清楚 update 是一个全局函数。如果不是,那么该方法将不起作用。

但是您可以使用以下方法覆盖按键处理程序:

unsafeWindow.document.onkeypress = function(){};



对于选择性阻止或替换任何 JS(在 Firefox 上)的通用、高效的方法,请使用 @run-at document-startthe checkForBadJavascripts function ,像这样:

// ==UserScript==
// @name _Replace select javascript on a page
// @include http://YOUR_SERVER.COM/YOUR_PATH/*
// @require https://gist.github.com/raw/2620135/checkForBadJavascripts.js
// @run-at document-start
// @grant GM_addStyle
// ==/UserScript==
/*- The @grant directive is needed to work around a design change
introduced in GM 1.0. It restores the sandbox.
*/

checkForBadJavascripts ( [
[ false,
/document\.onkeypress\s*=\s*update/,
function () {
addJS_Node (myKeypressFunction.toString() );
addJS_Node ('document.onkeypress = myKeypressFunction;');
}
]
] );


function myKeypressFunction (evt) {
/* DO WHATEVER HERE BUT USE NO GREASEMONKEY FUNCTIONS INSIDE
THIS FUNCTION.
*/
console.log ("Keypress function fired.");
}

See this answer, for more information on checkForBadJavascripts.

关于javascript - 使用 Greasemonkey 删除 javascript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15282714/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com