每小时重新加载页面:00分钟和30分钟

时间:2016-06-30 15:54:57

标签: javascript

我需要每30分钟(小时和小时30分钟)重新加载页面内容。我正在考虑JavaScript,我已经尝试了下面的代码,但它进入了无限循环。我不知道如何更改它以避免循环。

meta标记无效,因为它们无法在某一分钟内执行。

function refreshContent() {
    var tDate = new Date();
    thisHour = tDate.getHours();
    thisMinute = tDate.getMinutes();
    thisSecond = tDate.getSeconds();
    setTimeout("refreshContent()",60000); // in milliseconds = 1 minute

    if ( thisMinute == 0 || thisMinute == 30 ) {
        location.reload();
    }

}
refreshContent();

2 个答案:

答案 0 :(得分:3)

您只需要设置一个计时器并计算下次刷新的时间。这样,当页面完全加载到:00或:30时,您可以防止页面反复重新加载。

var minute = new Date().getMinutes(),
    nextRefresh = (30 - (minute % 30)) * 60 * 1000;

setTimeout( function() { location.reload(); }, nextRefresh );

30 - (minute % 30)计算下一个半小时前的分钟数,* 60 * 1000将其转换为毫秒数。触发重载后,计时器设置为30分钟。

答案 1 :(得分:-2)

设置refreshContent时,您会立即调用setTimeout函数。试试setTimeout(refreshContent, 60000);