我需要每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();
答案 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);