TamperMonkey JS UserScript 绕过等待时间
TamperMonkey JS UserScript bypassing a waiting time
正在尝试为 TamperMonkey 编写 userscript browser 运行 ] 绕过等待时间 作为训练。
这是该页面中使用的脚本:
var timeout;
$(document).ready(function() {
$('#countdown').each(function(i, e) {
if (timeout) return;
timeout = setTimeout(tick, 1000);
function tick() {
console.log('Tick');
var remaining = parseInt($(e).find(".seconds").text()) - 1;
if (remaining <= 0) {
$(e).css('visibility', 'hidden');
} else {
$(e).find(".seconds").text(remaining.toString());
setTimeout(tick, 1000);
}
}
});
});
JQuery 在我的脚本中启用并且正在工作,我能够 disable/enable 一些网络元素,这里的问题只是关于 'waiting time'.
是否可以绕过?
I/you 需要有关它的任何额外信息吗?
我尝试了一些代码,仍然没有成功:
例如:
// Tried the below variables with a hope to override them in therms they exists.
// wasn't sure if even the usage or approach be totally correct.
let seconds = 0;
let remaining = 0;
let tick = 1;
let timeout = 60;
$(document).ready(function () {
// altered some elements.
seconds = 0;
remaining = 0;
tick = 1;
timeout = 60;
});
页面脚本中根本没有引用您在用户脚本中声明的变量,所以我不知道您希望用户脚本影响什么。
由于页面的脚本从 .seconds
元素中检索剩余的秒数,您可以修改该元素以删除超时:
document.querySelector('.seconds').textContent = '1';
就是这样。这样您就不必等待它倒计时,它会立即完成。
正在尝试为 TamperMonkey 编写 userscript browser 运行 ] 绕过等待时间 作为训练。 这是该页面中使用的脚本:
var timeout;
$(document).ready(function() {
$('#countdown').each(function(i, e) {
if (timeout) return;
timeout = setTimeout(tick, 1000);
function tick() {
console.log('Tick');
var remaining = parseInt($(e).find(".seconds").text()) - 1;
if (remaining <= 0) {
$(e).css('visibility', 'hidden');
} else {
$(e).find(".seconds").text(remaining.toString());
setTimeout(tick, 1000);
}
}
});
});
JQuery 在我的脚本中启用并且正在工作,我能够 disable/enable 一些网络元素,这里的问题只是关于 'waiting time'.
是否可以绕过?
I/you 需要有关它的任何额外信息吗?
我尝试了一些代码,仍然没有成功:
例如:
// Tried the below variables with a hope to override them in therms they exists.
// wasn't sure if even the usage or approach be totally correct.
let seconds = 0;
let remaining = 0;
let tick = 1;
let timeout = 60;
$(document).ready(function () {
// altered some elements.
seconds = 0;
remaining = 0;
tick = 1;
timeout = 60;
});
页面脚本中根本没有引用您在用户脚本中声明的变量,所以我不知道您希望用户脚本影响什么。
由于页面的脚本从 .seconds
元素中检索剩余的秒数,您可以修改该元素以删除超时:
document.querySelector('.seconds').textContent = '1';
就是这样。这样您就不必等待它倒计时,它会立即完成。