javascript - 如何绕过Javascript中的clearTimeout?

标签 javascript jquery timer

我经常访问一个以顺序方式显示图像的网站。查看第一张图像后,该图像的弹出链接将在 30 秒后变为事件状态。我想绕过这个计时器。因此,我查找了该页面的源代码,并发现了以下代码行-

function Window(ID) {

        var lg = JSON.stringify(lg);
        CloseTimeout = setTimeout('Close(' + wID + ',' + nd + ',' + lnkFlag + ');', 30000);
        interval = window.setInterval(function () {
        }, 1000);
    }

第 6 行中,30000 是等待时间(以毫秒为单位)。

有没有办法对所有链接使用一些 JavaScript 代码来绕过/减少此计时器的持续时间?任何帮助将不胜感激。

最佳答案

解决您的问题的方法可能是替换标准 setTimeout

这不是一个礼貌且正确的方法,但它足够快。

代码:

var _setTimeout = window.setTimeout;
window.setTimeout = function (a, b) {
    if ((typeof a === 'string' || a instanceof String) &&
            (a.startsWith('CloseWindowOnUpdateTask') && b == 30000)) {
        _setTimeout(a, 1000);
    } else {
        _setTimeout.apply(null, arguments);
    }

}

关于javascript - 如何绕过Javascript中的clearTimeout?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41323752/

相关文章:

javascript - 如何在 jquery + javascript 的输入框(使用正则表达式)中只输入数字?

java - 如何在定时器程序中实现 Action 监听器?

java - 如何在运行时将 TimerTask 提交给另一个 Timer

c# - 方法启动时停止 DispatcherTimer

javascript - 每个 div 中的随机数

javascript - 将 CSS 元素映射到 D3

javascript - 在函数内部延迟jquery函数?

javascript - 检查哪些元素包含已突出显示的文本

Javascript函数删除特殊字符

javascript - 如何计算范围内最接近的最大最近数字