首页自动重新加载后修改页面重新加载间隔

时间:2016-02-15 20:35:41

标签: javascript jquery

如何在第一页重新加载(30秒)后修改页面刷新时间,然后如果用户仍在页面上,则每隔5分钟重新加载页面。目前它每30秒就会重新加载一次。

function timedRefresh(timeoutPeriod) {
    setTimeout("location.reload(true);",timeoutPeriod);
}

window.onload = timedRefresh(30000);

我该怎么做?感谢

4 个答案:

答案 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密钥来设置计时器。