微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

绕过等待时间的 TamperMonkey JS UserScript

如何解决绕过等待时间的 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 举报,一经查实,本站将立刻删除。