Chrome 控制台 - 循环重新加载
Chrome console - reload in loop
我需要检查我的访客跟踪器,所以我在 chrome 控制台中输入了这个,并设置了保留日志的设置:
i = 0;
while (i<4)
{
location.reload();
window.alert(i);
i++;
}
弹出的警告框弹出了 4 次值(0、1、2、3),我也得到了结果:
3
Navigated to "url of website"
结果和警告框显示代码运行到最后,但为什么页面只重新加载一次?
请不要苛刻。
当您重新加载页面时,您编写的所有 javascript 代码都将丢失。在您的代码中,location.reload()
函数在 alert()
之前执行,但我怀疑因为 location.reload()
函数需要时间才能完全执行,它仍然有足够的时间执行 alert()
函数,以及所有其他迭代,这导致 while 循环在页面重新加载之前完成。
location.reload()
大概属于异步函数的范畴,就是说函数开始执行,并在后台保持 运行。异步函数之后的所有代码都会立即执行,无论异步函数是否已完成。
如果您想跟踪访客数量,请使用一些 php 并将数据保存在数据库中。
更新:
将此代码放入 .html 文件并打开它。根据需要多次重新加载,并检查控制台中的 currentClicks
变量。
<!DOCTYPE html>
<body>
<script>
var currentClicks = localStorage.getItem("clickCount");
currentClicks++;
localStorage.setItem("clickCount", currentClicks);
</script>
</body>
</html>
我怀疑 location.reload()
设置了重新加载页面的请求,但不会立即发生。它可能正在等待当前代码完成 运行,然后稍后分派。调度一次后,其余的待处理重载将丢失。
我需要检查我的访客跟踪器,所以我在 chrome 控制台中输入了这个,并设置了保留日志的设置:
i = 0;
while (i<4)
{
location.reload();
window.alert(i);
i++;
}
弹出的警告框弹出了 4 次值(0、1、2、3),我也得到了结果:
3
Navigated to "url of website"
结果和警告框显示代码运行到最后,但为什么页面只重新加载一次?
请不要苛刻。
当您重新加载页面时,您编写的所有 javascript 代码都将丢失。在您的代码中,location.reload()
函数在 alert()
之前执行,但我怀疑因为 location.reload()
函数需要时间才能完全执行,它仍然有足够的时间执行 alert()
函数,以及所有其他迭代,这导致 while 循环在页面重新加载之前完成。
location.reload()
大概属于异步函数的范畴,就是说函数开始执行,并在后台保持 运行。异步函数之后的所有代码都会立即执行,无论异步函数是否已完成。
如果您想跟踪访客数量,请使用一些 php 并将数据保存在数据库中。
更新:
将此代码放入 .html 文件并打开它。根据需要多次重新加载,并检查控制台中的 currentClicks
变量。
<!DOCTYPE html>
<body>
<script>
var currentClicks = localStorage.getItem("clickCount");
currentClicks++;
localStorage.setItem("clickCount", currentClicks);
</script>
</body>
</html>
我怀疑 location.reload()
设置了重新加载页面的请求,但不会立即发生。它可能正在等待当前代码完成 运行,然后稍后分派。调度一次后,其余的待处理重载将丢失。