如何解决绕过等待时间的 TamperMonkey JS UserScript
尝试为 TamperMonkey 编写一个 用户脚本,以便在 浏览器 中运行以绕过等待时间训练。 这是该页面中使用的脚本:
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 并且正在运行,我能够禁用/启用一些网络元素,这里的问题只是关于“等待时间”。
可以绕过吗?
我/你需要关于它的任何额外信息吗?
我尝试了一些代码,仍然没有成功:
例如:
// 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';
就是这样。这样您就不必等待倒计时,它会立即完成。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。