猿问

如何在特定时间自动重新加载网页?

我有一个网站,希望在某个时间(例如3:35 pm)重新加载,而不是在5分钟的特定间隔后重新加载。我怎么做?



暮色呼如
浏览 891回答 3
3回答

莫回无

以下JavaScript代码段可让您在给定的时间刷新:function refreshAt(hours, minutes, seconds) {    var now = new Date();    var then = new Date();    if(now.getHours() > hours ||       (now.getHours() == hours && now.getMinutes() > minutes) ||        now.getHours() == hours && now.getMinutes() == minutes && now.getSeconds() >= seconds) {        then.setDate(now.getDate() + 1);    }    then.setHours(hours);    then.setMinutes(minutes);    then.setSeconds(seconds);    var timeout = (then.getTime() - now.getTime());    setTimeout(function() { window.location.reload(true); }, timeout);}然后,您可以添加脚本标签来调用该refreshAt()函数。refreshAt(15,35,0); //Will refresh the page at 3:35pm

料青山看我应如是

<META HTTP-EQUIV="Refresh" CONTENT="5">这将迫使页面每5秒重新加载一次。只需计算正确的时间间隔并将其添加到内容标签即可

侃侃无极

我发现此页面有类似的问题,并用它找出了可能对某些人有用的更具体的答案。对于此项目,我们希望确保一旦发生全球关注的现场活动时页面就会刷新,从而激活嵌入在用户页面上的播放器(我知道狭窄的用例-其他人可能会更好地用于它)。上述答案中的一个挑战是如何处理时区转换,这对我们来说是一个更大的问题,因为我们要确保页面在特定的日期和时间刷新。为此,我获取了目标日期和今天的日期的UTC版本,将其转换为GMT,然后将Andrew的超时功能设置为两者之间的差值。var target = new Date("January 28, 2011 13:25:00");timeOffset = target.getTimezoneOffset() * 60000;targetTime = target.getTime();targetUTC = targetTime + timeOffset;var today = new Date();todayTime = today.getTime();todayUTC = todayTime + timeOffset;refreshTime = (targetUTC - todayUTC);if (refreshTime > 1) {&nbsp; &nbsp; setTimeout(function() { window.location.reload(true); }, refreshTime);}
随时随地看视频慕课网APP
我要回答