【发布时间】:2016-03-27 13:03:19
【问题描述】:
我正在使用 javascript 在美国东部标准时间下午 5:25 刷新我的页面。 例如,如果用户在美国东部标准时间下午 5.00 来到我的页面,并且他在美国东部标准时间下午 5.40 停留,让我们假设。那么我想在美国东部标准时间下午 5.25 刷新我的页面。
我怎样才能做到这一点?
【问题讨论】:
标签: javascript
我正在使用 javascript 在美国东部标准时间下午 5:25 刷新我的页面。 例如,如果用户在美国东部标准时间下午 5.00 来到我的页面,并且他在美国东部标准时间下午 5.40 停留,让我们假设。那么我想在美国东部标准时间下午 5.25 刷新我的页面。
我怎样才能做到这一点?
【问题讨论】:
标签: javascript
使用setInterval以特定间隔检查时间,如果达到所需时间,只需使用location.reload:
window.setInterval(funciton() {
var now = new Date();
if(now.getTime() == SOMETHING) {
location.reload();
}
}, REFRESH_INTERVAL);
如果你想使用时区计算等,我建议moment.js。
更新:
this answer 中提供了一个不错的 sn-p,它做得更优雅。
【讨论】:
您可以计算重新加载的时间,然后设置超时函数来重新加载页面:
var now = new Date()
var timeOfRefresh = new Date();
timeOfRefresh.setHours(5);
timeOfRefresh.setMinutes(25);
timeOfRefresh.setSeconds(0);
var diff = timeOfRefresh.getTime() - now.getTime();
if (diff < 0) { // is after 5:25
diff += 24 * 60 * 60 * 1000; // refresh next day
}
setTimeout(location.reaload, diff);
【讨论】: