如何在特定时间重新加载页面,并且每天只加载一次
How to reload a page at certain hour and only once a day
我有一个每一分钟运行一次的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点之间,它将再次重新加载页面。如何使重新加载只发生一次?
我可能可以通过创建另一个间隔函数来做到这一点,该函数每小时启动一次,并检查是否应该重新加载。但既然我已经有了上面每分钟运行一次的函数,我可以从那里开始吗?
如果我最终创建了另一个每小时检查一次的函数。如果这两个功能同时启动,会发生什么?
我会存储上次刷新的日期,计算差异,如果不到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);
我希望这就是你的意思。请注意,这是未经测试的。
不需要更复杂的解决方案来以更好的方式完成这项工作,您可以使用getDay()并将其保存在cookie中,这样您就可以检查上一次调用此方法是否是在同一天,这样只需要在上午9点之后的第二天,就可以在另一天了。
它在C#中。算法为:
- 在C#中创建一个计时器,它在第N小时运行(例如上午10:00、下午14:00等)
- 您检查时间是否为X小时(在本例中为上午9:00)
- 如果是,则刷新页面
相关文章:
- 如何使用url加载程序在webpack中导入多个图像
- 如何在生成下载文件时显示加载动画
- 有没有任何方法可以将控制器从文件加载到ui路由器$stateProvider中
- 无法在通过jQuery的ajax加载的页面中执行javascript
- Emberjs应用程序加载在除Index之外的所有路由上
- 在chrome.tabs.onCreated之后加载HTML页面
- 单击F5时如何停止页面加载
- HTML5音频加载和播放获胜'我不能在iPad上工作
- 跟踪在页面加载时应用内联样式的JavaScript
- 在使用Polymer'加载所有json文件后执行方法;s的核心ajax
- jQuery Lazy加载动画滚动
- Html页面上的多个Base64图像和平滑加载
- 如何创建带有插槽的vue js组件预加载程序
- Webpack/Rect:遵循egghead.io教程,但出现错误:您可能需要一个合适的加载程序来处理此文件类型
- 如何使该数据在所有元素中加载
- Chrome扩展没有't在重新加载之前考虑期权价值
- 使用javascript在Flash中加载外部图像
- Ajax文件加载和<输入>文件加载
- 如何在特定时间重新加载页面,并且每天只加载一次
- 强制JavaScript每天重新加载一次