如何在第一页重新加载(30秒)后修改页面刷新时间,然后如果用户仍在页面上,则每隔5分钟重新加载页面。目前它每30秒就会重新加载一次。
function timedRefresh(timeoutPeriod) {
setTimeout("location.reload(true);",timeoutPeriod);
}
window.onload = timedRefresh(30000);
我该怎么做?感谢
答案 0 :(得分:0)
您可以在网址中设置一个参数,告诉您是否是第一页重新加载,例如http://www.yoururl.com?fr=1
,其中fr
代表"首先重新加载"。
之后,您只需要通过JavaScript或在服务器端捕获其值然后将其发送到客户端,以最适合您的方式获取该查询字符串参数。
最后,您只需要检查条件,以决定是否在5分钟30秒后重新加载。
例如,假设您在名为fr
的变量中具有firstReload
的值:
window.onload = timedRefresh(firstReload == "1" ? 30000 : 300000);
答案 1 :(得分:0)
您可以保存在localStorage重新加载次数
答案 2 :(得分:0)
您可以使用localStorage来保存首次加载页面的标记
var timeout = localStorage.getItem('pageloaded') ? 3e5 : 3e4;
function timedRefresh(timeoutPeriod) {
localStorage.setItem('pageloaded', true);
setTimeout("location.reload(true);",timeoutPeriod);
}
window.onload = timedRefresh(timeout);
答案 3 :(得分:0)
通过使用localStorage,这是可能的。
function timedRefresh(timeoutPeriod) {
setTimeout("location.reload(true);",timeoutPeriod);
}
var rate;
if (localStorage.getItem("time")) rate = 300000;
else {
localStorage.setItem("time", true);
rate = 30000;
}
window.onload = timedRefresh(rate);
这将根据用户是否设置了localStorage密钥来设置计时器。