Как изменить переменную, чтобы обойти встроенный таймер JavaScript window.onload в Chrome
Я пытался использовать Tampermonkey 4.5.5663 в Chrome версии 63.0.3239.132 (Официальная сборка) (64-разрядная версия), чтобы обойти следующий JavaScript в разделе HEAD на странице веб-сайта, который не позволяет переходить на следующую страницу, пока таймер не достигнет нуль:
<!-- 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 ответ
Если скрипт tampermonkey запускается после скрипта со страницы, простой sec = 1;
буду работать. Установка его в 0 не будет работать, и он будет считать негативы бесконечно.
Однако, если ваш сценарий выполняется перед сценарием со страницы, вы можете попробовать этот немного уродливый подход:
const oldTimeout = window.setTimeout;
window.setTimeout = function(cb, time) {
if (cb === 'countDown();') {
time = 0;
}
return oldTimeout(cb, time);
}