我正在使用以下功能每天尝试刷新我的页面:
function refreshAt(hours, minutes, seconds) {
var now = new Date();
var then = new Date();
if (now.getHours() > hours ||
(now.getHours() == hours && now.getMinutes() > minutes) ||
now.getHours() == hours && now.getMinutes() == minutes && now.getSeconds() >= seconds) {
then.setDate(now.getDate() + 1);
}
then.setHours(hours);
then.setMinutes(minutes);
then.setSeconds(seconds);
var timeout = (then.getTime() - now.getTime());
setTimeout(function () { window.location.reload(true); console.log("reloading"); }, timeout);
}
...我称之为
refreshAt(00,01,00);
然而,在Mac上的Chrome中,它永远不会刷新。我接到了我脚本顶部附近的电话,它位于正文中。声明位于脚本的底部。 在我的Android手机上,如果我在白天在标签之间进行更改,则会刷新,但不正确,后者在我添加刷新功能之前效果更好。 我很困惑。
答案 0 :(得分:0)
这实际上取决于您正在处理的应用程序类型。如果它是网站或应用程序,则每次用户打开页面时都会刷新页面。但是,如果您正在处理的应用程序始终显示没有用户操作选项,则可以设置 CRON 作业。 这还取决于您使用的框架类型,角度,反应等。但是,使用普通的javascript,您可以设置在特定时间每天运行的作业。 这是我觉得有用的库的链接。 https://www.npmjs.com/package/cron
var CronJob = require('cron').CronJob;
var job = new CronJob('0 7 * * *', function() {
/*
*+---------------- minute (0 - 59)
| +------------- hour (0 - 23)
| | +---------- day of month (1 - 31)
| | | +------- month (1 - 12)
| | | | +---- day of week (0 - 6) (Sunday=0 or 7)
| | | | |
* * * * *
*/
}, function () {
/* This function is executed when the job stops */
},
true, /* Start the job right now */
timeZone /* Time zone of this job. */
);
您可以查看文档并自己完成工作。
答案 1 :(得分:0)
希望这有效。
function refreshAt(hours, minutes, seconds)
{
var now = new Date(), then = new Date();
then.setHours(hours,minutes,seconds,0);
if(then.getTime()<now.getTime())
{
then.setDate(now.getDate() + 1);
}
var timeout = (then.getTime() - now.getTime());
setTimeout(function() { window.location.reload(true); }, timeout);
}
refreshAt(0,1,0);