如何更改变量以绕过Chrome中的内联javascript window.onload计时器

时间:2018-01-20 17:48:31

标签: javascript html google-chrome timer tampermonkey

我曾尝试在Chrome版本63.0.3239.132(官方版本)(64位)中使用Tampermonkey 4.5.5663来绕过网站页面的HEAD部分中的以下javascript,直到下一页为止计时器达到零:

<!-- COUNTDOWN TIMER --> 
<script language=JavaScript type=text/javascript> 
<!-- 
 var sec=96; 
 function countDown() {
     sec--;
     time=sec+' sec '; 
     if (document.getElementById) {
         document.getElementById('Timer').innerHTML=time; 
     } 
     SD = window.setTimeout('countDown();', 1000); 
     if ( sec == 00) {
         sec = 00; window.clearTimeout(SD); 
     }
 } 
 window.onload = countDown; 
 // --> 
 </script>

在Tampermonkey中,我尝试过:

countDown = null; 

并将//放在Tampermonkey样板代码的功能行之前。 我可以使用Tampermonkey,并且对其他解决方案完全开放。 这个内联网页计时器对我来说是一个巨大的浪费时间,我想打败它并按照我自己的节奏移动。 任何帮助将不胜感激...    Rexie

1 个答案:

答案 0 :(得分:0)

如果tampermonkey脚本在页面中的脚本之后运行,则简单的sec = 1;将起作用。将其设置为0将不起作用,它将无限地计入负数。

但是,如果您的脚本在页面脚本之前运行,您可以尝试这种稍微丑陋的方法:

const oldTimeout = window.setTimeout;
window.setTimeout = function(cb, time) {
    if (cb === 'countDown();') {
        time = 0;
    }
    return oldTimeout(cb, time);
}