如何在chrome控制台中重新加载后保持循环?

时间:2016-07-17 10:51:16

标签: javascript jquery google-chrome console google-chrome-console

我把代码重新加载到Chrome控制台中的当前页面。

例如..

(function myLoop (i) {          
   setTimeout(function () {   
      console.log(i);
      if (--i) myLoop(i);      
   }, 3000)
})(10);

运行上面的代码后,循环只运行一次,控制台重新加载。

我该怎么做?

3 个答案:

答案 0 :(得分:2)

您提供的功能从10减1到1,间隔为3秒。如果您直接在Chrome控制台中运行它并在中间刷新页面,那么它当然会被终止,因为该功能正在您加载的当前页面的上下文中执行。

如果您希望在代码在页面(而不是控制台)中运行时在重新加载之间保持循环,那么您可以在执行代码时保持变量的状态,例如在本地存储或cookie中。页面加载时,请使用存储的值而不是默认值。

示例:

window.onload = function() {
    var count = localStorage.getItem('count');
    if (count == null) count = 10;

    (function myLoop(i) {
        setTimeout(function() {
            localStorage.setItem('count', (i-1));
            console.log(i);
            if (--i) {
                myLoop(i);
            } else {
                localStorage.removeItem('count');
            }
        }, 3000)
    })(count);
}

答案 1 :(得分:0)

首先,你为什么要这样做? 你想重新加载一个网页会很奇怪,为什么? 如果它用于互联网速度目的,我宁愿:

cmd.exe /C ping (target) /t 00 /n 65000

但你可以尝试使用循环语句。我对C#不太熟悉,所以我在互联网上搜索了它。

            int number = 0;

        while(number < 5)
        {
            // yourcode
            number = number + 1;
        }

答案 2 :(得分:0)

您可以创建一个Chrome扩展程序,重新加载后可以继续执行