2012-02-07 51 views
1

我有一个网站,我想每五分钟在特定的时间范围内重新加载。时间,如每隔五分钟从上午9点到中午12点。我怎么做?给定时间范围内的刷新页面

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(15,35,0); //Will refresh the page at 3:35pm 

下面只是在给定时间

回答

0

试试这个。

function set_timer() 
{ 
var var from = 9, to = 12, every = 5, now = new Date(); 

if (now.getHours()<from) // prepare to run at 'from' hours exactly 
    setTimeout(refresh_me, from * 3600 * 1000 - 
     ((now.getHours() * 60 + now.getMinutes()) * 60 + now.getSeconds()) * 1000); 

// run 'every' period between 'from' and 'to' 
if (now.getHours()>=from && now.getHours()<to) 
    setTimeout(refresh_me, every * 60 * 1000); 

if (now.getHours()>=to) // prepare for tomorrow's run at 'from' 
{ 
    var tomorrow = new Date(now.getFullYear(), now.getMonth(), 
          now.getDate() + 1, 0, 0, 0); 
    setTimeout(refresh_me, 
       from * 3600 * 1000 + tomorrow.getTime() - now.getTime()); 
} 
} 

function refresh_me() 
{ 
if ((new Date()).getHours()<to) // check the time between 12:00 and 12:05 
    window.location.reload(true); 
else 
    set_timer(); // reset timer if function is called between 12:00 and 12:05 
} 

set_timer(); 
0
var startTime = new Date(2000,1,1,9,30); 
var endTime = new Date(2000,1,1,15,30); 
window.setInterval(function() 
{ 
    if(new Date().toLocaleTimeString() >= startTime.toLocaleTimeString() && 
     new Date().toLocaleTimeString() <= endTime.toLocaleTimeString()) 
     window.location.reload(true); 
}, 5 * 60 * 1000) 
+1

你应该在你的代码中使用的setInterval,否则跳过一个刷新,仅此而已。但是,只要你不关心其他时间的不活动 - 没关系。 – Cheery 2012-02-07 06:37:16

+0

哎呀我的错误我已修复。谢谢。 – Daniel 2012-02-07 06:38:16