如何实现页面两次自动刷新?20秒与50秒各刷新一次
实现页面加载后20秒和50秒各自动刷新一次的解决方案
你的原始代码仅通过localStorage的firstLoad标记实现了单次刷新,要完成两次刷新的需求,我们需要跟踪刷新次数来区分不同阶段的操作。以下是修改后的代码:
<script> (function() { if (window.localStorage) { // 获取当前刷新次数,默认值为0 let refreshCount = parseInt(localStorage.getItem('refreshCount')) || 0; if (refreshCount === 0) { // 首次加载:20秒后执行第一次刷新,同时记录已完成1次刷新 setTimeout(function() { localStorage.setItem('refreshCount', 1); location.reload(); }, 20000); } else if (refreshCount === 1) { // 第一次刷新后:等待30秒(累计50秒)执行第二次刷新,之后清除标记停止循环 setTimeout(function() { localStorage.removeItem('refreshCount'); location.reload(); }, 30000); } // 刷新次数≥2时,不再执行任何操作 } })(); </script>
代码说明:
- 首次加载阶段:页面初始化时
refreshCount为0,设置20秒定时器,触发后将refreshCount设为1并刷新页面。 - 第一次刷新后阶段:页面重新加载,此时
refreshCount为1,设置30秒定时器(20+30=50,对应初始加载后的50秒),触发后清除refreshCount标记并完成第二次刷新。 - 停止循环:第二次刷新后,
refreshCount被移除,后续页面加载不会再触发定时器,避免无限刷新。
如果你的需求是第一次刷新后再等待50秒执行第二次刷新(即初始加载后70秒完成第二次刷新),只需将第二个定时器的30000改为50000即可。
内容的提问来源于stack exchange,提问作者Sergey Kolnogorov
相关产品推荐
相关产品推荐

