Javascript Greasemonkey用户脚本更改/设置Java脚本中的变量
我不知道这是否可行,但我想更改/设置webbrowser加载的值 在此脚本标记中设置变量:Javascript Greasemonkey用户脚本更改/设置Java脚本中的变量,javascript,greasemonkey,Javascript,Greasemonkey,我不知道这是否可行,但我想更改/设置webbrowser加载的值 在此脚本标记中设置变量: <script> Current.set('username','tomi'); Current.set('user_id','1234'); </script> 我如何操作这样的代码?你不能。Greasemonkey脚本在所有其他脚本和页面加载后执行。可能有一种更简单的方法,具体取决于实际的目标页面(指向它的链接)和您尝试执行的操作。但是,你可以随时使用。只需设置脚本 见和
<script>
Current.set('username','tomi');
Current.set('user_id','1234');
</script>
我如何操作这样的代码?你不能。Greasemonkey脚本在所有其他脚本和页面加载后执行。可能有一种更简单的方法,具体取决于实际的目标页面(指向它的链接)和您尝试执行的操作。但是,你可以随时使用。只需设置脚本 见和 在本例中,您将调用
checkForBadJavascripts()
,如下所示:
function changeUser () {
Current.set('username', 'myname');
Current.set('user_id', '1111');
// ...
}
checkForBadJavascripts ( [
[ false,
/username[\'\", ]+tomi/,
function () {addJS_Node (null, null, changeUser);}
]
] );
*COPY checkForBadJavascripts.js contents here.*
有什么办法吗?这是出于安全考虑,@ValNolav。所以不,我不认为他的答案是双重错误的。默认情况下,Greasemonkey在页面完成加载之前运行。OP想要的通常也是可行的。我添加了你的代码,但是它不起作用。我正在设法解决这个问题。我检查它是否以文档开头,但它似乎是从文档结尾开始的,因为document.readyState:interactive。您已将此答案标记为已接受,但注释显示您的脚本不工作?你明白了吗?将脚本设置为在开始时运行;请阅读以上答案中的链接。如果它仍然不起作用,把你的完整脚本放在问题中或链接到它,我们会找出问题的症结。我同意你的答案,因为它是有意义的。我想对你的回答表示感谢。在我把它发到这里之前,我会再尝试几次。谢谢
function changeUser () {
Current.set('username', 'myname');
Current.set('user_id', '1111');
// ...
}
checkForBadJavascripts ( [
[ false,
/username[\'\", ]+tomi/,
function () {addJS_Node (null, null, changeUser);}
]
] );
*COPY checkForBadJavascripts.js contents here.*