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

Posted

技术标签:

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

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

例如..

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

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

我该怎么做?

【问题讨论】:

查看这个答案:***.com/questions/26380086/… 您到底想达到什么目的?似乎 localStorage 应该可以解决问题 【参考方案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;
        

【讨论】:

以上是关于在 chrome 控制台中重新加载后如何保持循环?的主要内容,如果未能解决你的问题,请参考以下文章

为使用React的网站制作Chrome扩展程序。重新渲染后如何保持更改?

页面重新加载后如何保持在反应(antd)表中的同一页面

Chrome:性能数据 API

如何在点击href新chrome版本73.xxx后重新加载页面

页面重新加载后,如何使用 twitter bootstrap 保持当前选项卡处于活动状态?

打开控制台时如何不重新加载我的页面?