在 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扩展程序。重新渲染后如何保持更改?
如何在点击href新chrome版本73.xxx后重新加载页面