如何根据时钟时间每15分钟自动刷新页面?
例如:在9:00,9:15,9:30,9:45,10:00,10:15刷新,等等..
我见过一个类似我想要的东西:https://stackoverflow.com/a/1217945/551559但我不认为它能胜任。
setInterval(function(){
// check clock time on every minute??
if ( clock_time === '9:15' ) {
}
},1000);
有人可以给我一个解决方案或任何链接来查看吗?
答案 0 :(得分:10)
setInterval(function(){
var minutes = (new Date()).getMinutes()
if ( !minutes%15 ) location.reload(); // if minutes is a multiple of 15
},60000); // 60.000 milliseconds = 1 minute
解释是否(!分钟%15):
minutes % 15
是模运算。将分钟数除以15并返回其余部分。因此,如果结果为0,则表示分钟是15的倍数。
现在我们需要反转该值:0等于false,所以我们想要!0(不是零=真)
如果分钟是15的倍数,我们最终会得到if( ! minutes % 15 )
。
答案 1 :(得分:2)
我不确定您是否希望每15分钟后重新加载一次,无论何时开始。但是如果你需要访问当地时间并获得当前的小时和分钟,请使用:
var dt = new Date();
var time = dt.getHours() + ":" + dt.getMinutes();
您可以这样检查:
setInterval(function(){
var dt = new Date();
var clock_time = dt.getHours() + ":" + dt.getMinutes();
if ( clock_time === '9:15' ) {
location.reload();
}
},1000);//or every min, 60000
希望它有所帮助。
答案 2 :(得分:1)
如果我们处于15分钟的倍数
,您可以使用模数运算符setInterval(function(){
var Now = new Date();
if ( Now.getMinutes() % 15 == 0 ) {
}
},60000); // Run me every minute
答案 3 :(得分:0)
在页面加载或通过任何其他触发器调用此函数时,它将设置页面在达到xx时完全重新加载的超时。[00 | 15 | 30 | 45] .00
function quaterlyRelaod() {
var d = new Date(), min = d.getMinutes(), sec = d.getSeconds();
var timeout = ((15-min%15)*60-sec)*1000;
setTimeout(function(){ window.location.reload(); }, timeout);
}
答案 4 :(得分:-2)
<meta http-equiv="refresh" content="5"; URL=http://www.yourdomain.com">
如果必须在脚本中使用设置超时,如
setTimeout(function(){ window.location.reload(1); }, 5000);