javascript - 如何在特定时间重新加载页面并且每天只加载一次

标签 javascript

我有一个每分钟运行一次的 javascript 函数。

setInterval(function(){

  //first, check time, if it is 9 AM, reload the page
   var now = new Date();
   if (now.getHours() == 9 {
      window.refresh();
   }

  //do other stuff

},60000);

现在的问题是,我希望每天只重新加载一次。由于该函数每分钟运行一次,因此下次启动时,如果是在上午 9 点到 10 点之间,它将再次重新加载页面。如何让重新加载只发生一次?

我可以通过创建另一个每小时触发一次的间隔函数来检查我是否应该重新加载来做到这一点。但由于我已经拥有每分钟运行一次的上述功能,我可以从那里开始吗?

如果我最终创建了另一个每小时检查一次的函数。如果这 2 个功能同时启动会发生什么情况?

最佳答案

我会存储上次刷新的日期,计算差异,不到 6 小时(为了安全起见)您将不需要刷新。

var lastRefresh = new Date(); // If the user just loaded the page you don't want to refresh either

setInterval(function(){

  //first, check time, if it is 9 AM, reload the page
   var now = new Date();
   if (now.getHours() == 9 && new Date() - lastRefresh > 1000 * 60 * 60 * 6) { // If it is between 9 and ten AND the last refresh was longer ago than 6 hours refresh the page.
      location.reload();
   }

  //do other stuff

},60000);

我希望这就是你的意思。请注意,这是未经测试的。

关于javascript - 如何在特定时间重新加载页面并且每天只加载一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15032211/

相关文章:

javascript - 错误: Object doesn't support property or method 'moment'

javascript - 使用参数从 firebase 查询数据 - React

javascript - MathJax 在 MathML 中呈现 HTML 输入字段

javascript - 在 Ubuntu Zesty 17.04 上安装 Node 6.9

javascript - 没有 www 但最后带有 .html 的 url 的正则表达式?

javascript - 谷歌地图API位置

javascript - 使用 jQuery 将字符串从一个类替换为另一个类

javascript - Uncaught ReferenceError : RailsAdmin is not defined

javascript - 如何使用 jquery 或 javascript 更改图像的透明度

javascript - 如何强制 javascript 等待/阻塞,直到延迟的作业完成?