冲洗篡改猴子的变化
Flush tampermonkey changes
我正在尝试创建一个 Tampermonkey 脚本以使用我的用户名和密码自动填写登录表单,然后我想单击登录按钮。但是,使用下面的代码,它似乎等待三秒钟,然后将文本填充到框中。我怎样才能 "flush" 更改以便它们在等待时间到来之前出现?
谢谢!
(function() {
'use strict';
function wait(ms){
var start = new Date().getTime();
var end = start;
while(end < start + ms) {
end = new Date().getTime();
}
}
window.onbeforeunload = function (){
return "Leaving page...";
}
$(document).ready(function() {
document.getElementById("username").value = "userValue";
document.getElementById("password").value = "passwordValue";
wait(3000);
document.getElementsByClassName("btn-large").click();
});
})();
wait
函数正在锁定浏览器选项卡(可能还有浏览器,可能还有整个计算机)。不要那样写代码!
还有:
(function() {...
在 Tampermonkey 脚本中完全是多余的。
$(document).ready(function()...
没有帮助,除非在此处不适用的极少数情况下。
- Lots, lots more,等等...
这是重构后的代码:
window.onbeforeunload = function () {
return "Leaving page...";
}
//-- Hacker easter egg! See linked questions.
document.getElementById ("username").value = "userValue";
document.getElementById ("password").value = "passwordValue";
setTimeout (clickBtnAfterDelay, 3000);
function () {
//-- Brittle! See linked questions.
document.getElementsByClassName ("btn-large")[0].click ();
}
我正在尝试创建一个 Tampermonkey 脚本以使用我的用户名和密码自动填写登录表单,然后我想单击登录按钮。但是,使用下面的代码,它似乎等待三秒钟,然后将文本填充到框中。我怎样才能 "flush" 更改以便它们在等待时间到来之前出现?
谢谢!
(function() {
'use strict';
function wait(ms){
var start = new Date().getTime();
var end = start;
while(end < start + ms) {
end = new Date().getTime();
}
}
window.onbeforeunload = function (){
return "Leaving page...";
}
$(document).ready(function() {
document.getElementById("username").value = "userValue";
document.getElementById("password").value = "passwordValue";
wait(3000);
document.getElementsByClassName("btn-large").click();
});
})();
wait
函数正在锁定浏览器选项卡(可能还有浏览器,可能还有整个计算机)。不要那样写代码!
还有:
(function() {...
在 Tampermonkey 脚本中完全是多余的。$(document).ready(function()...
没有帮助,除非在此处不适用的极少数情况下。- Lots, lots more,等等...
这是重构后的代码:
window.onbeforeunload = function () {
return "Leaving page...";
}
//-- Hacker easter egg! See linked questions.
document.getElementById ("username").value = "userValue";
document.getElementById ("password").value = "passwordValue";
setTimeout (clickBtnAfterDelay, 3000);
function () {
//-- Brittle! See linked questions.
document.getElementsByClassName ("btn-large")[0].click ();
}