【问题标题】:How to keep the loop after reload in chrome console?在 chrome 控制台中重新加载后如何保持循环?
【发布时间】:2016-07-17 10:51:16
【问题描述】:

我放了一个代码会在 chrome 控制台中重新加载当前页面。

例如..

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

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

我该怎么做?

【问题讨论】:

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


【解决方案1】:

您提供的函数从 10 倒计时到 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);
}

【讨论】:

    【解决方案2】:

    你可以创建一个chrome扩展,它可以在重新加载后继续执行

    【讨论】:

      【解决方案3】:

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

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-02-23
        • 1970-01-01
        • 1970-01-01
        • 2014-03-16
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多