0

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

例如..

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

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

我怎样才能做到这一点?

4

3 回答 3

3

您提供的函数从 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);
}
于 2016-07-17T12:39:21.247 回答
1

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

于 2020-05-13T16:36:53.807 回答
0

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

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

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

            int number = 0;

        while(number < 5)
        {
            // yourcode
            number = number + 1;
        }
于 2016-07-17T12:25:16.343 回答