jQuery 按时钟时间自动刷新页面

jQuery auto refresh page on clock time

如何根据时钟时间每 15 分钟自动刷新一次页面?

例如:在 9:00、9:15、9:30、9:45、10:00、10:15 等上刷新。

我见过一个与我想要的类似的东西:但我认为它不适合。

setInterval(function(){
  // check clock time on every minute??
  if ( clock_time === '9:15' ) {

  }
},1000);

有人可以给我一个解决方案或任何 link 看看吗?

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

解释 if(!minutes%15) :

minutes % 15 是模运算。它将分钟除以 15,其余的 return。所以如果结果为0,则表示分钟是15的倍数。

现在我们需要反转该值:0 等同于 false,所以我们想要 !0(不是零 = true)

最后我们得到 if( ! minutes % 15 ) will be true if minutes is a multiple of 15.

我不确定您是否希望它无论何时启动都每 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

希望对您有所帮助。

<meta http-equiv="refresh" content="5"; URL=http://www.yourdomain.com">

如果它必须在脚本中使用像

这样的设置超时
setTimeout(function(){   window.location.reload(1); }, 5000);

如果我们处于 15 分钟的倍数,您可以使用取模运算符计算

setInterval(function(){
  var Now = new Date();
  if ( Now.getMinutes() % 15 == 0 ) {

  }
},60000); // Run me every minute

在页面加载时或通过任何其他触发器调用此函数,它将设置页面超时以在它到达 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);
}