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';

就是这样。这样您就不必等待它倒计时,它会立即完成。