如何使用Javascript每天在特定时间重新加载URL?

如何使用Javascript每天在特定时间重新加载URL?,javascript,scheduled-tasks,job-scheduling,Javascript,Scheduled Tasks,Job Scheduling,我有一个被cron作业调用的URL,但我无法让它工作 我计划使用Javascript执行同样的操作:如何在一天中的特定时间晚上8:00以这种方式重新加载页面?以下Javascript片段将允许您在给定时间刷新: function refreshAt(hours, minutes, seconds) { var now = new Date(); var then = new Date(); if(now.getHours() > hours || (now.getHours() =

我有一个被cron作业调用的URL,但我无法让它工作


我计划使用Javascript执行同样的操作:如何在一天中的特定时间晚上8:00以这种方式重新加载页面?

以下Javascript片段将允许您在给定时间刷新:

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); }, timeout);
 }
然后,您可以添加一个脚本标记来调用refreshAt函数

refreshAt(15,35,0); //Will refresh the page at 3:35pm
我想从索引页重新加载控制器。我将编写此脚本并将URL放在此处——

由于在您的情况下Javascript的使用仅限于前端,因此用户需要像您一直提到的那样保持页面打开索引。这意味着:

只有当用户保持浏览器打开时才会进行URL调用如果此任务确实需要每天运行,则不应依赖客户端来实现此任务; 您提到的cron作业是更好的选择,但是您无法强制用户的浏览器在每天晚上8:00打开; 如果要同时为所有用户加载URL,则用户的本地时间对于触发此事件没有帮助,因此,例如,在UTC时区的某个时间触发它。 解决方案 创建一个cookie,用于存储用户上次加载索引页的日期和时间,每次加载该页时,将其与当前日期进行比较,并仅加载一次URL。您可能希望在后端设置cookie,但下面是一个在JS中存储和加载cookie的简单示例: var td=new Date,date2store=${td.getUTCFullYear}-${td.getUTCMonth.toString.padStart2,0}-${td.getUTCDate.toString.padStart2,0}${td.getUTCHours.toString.padStart2,0}:${td.getUTCMinutes.toString.padStart2,0};
警报“Cookie to store:last_date=”+date2store+”->是在UTC时间晚上8点之后吗?+新的Datedate2store.getUTCHours>=19?““是的!”不;从命令行执行JavaScript?我们是否应该假设您不是指节点,而是指常规浏览器?你到底想做什么?我有一个url,我想每天晚上8点刷新一次…cron job无法正常工作…@Hasif请尽量不要使用短信语言,因为这会使与他人的交流变得复杂。你的问题太宽泛,不清楚。你有一个网站或一个nodejs脚本吗?哦,我原以为一切都很好,但你决定问xD-在这种情况下,刷新是什么意思完全不清楚。是否要启动作为HTTP资源发布的远程脚本?在连接完成之前,您需要保持连接打开吗?为什么需要用JavaScript来完成?您知道节点是什么吗?window.location.reloadtrue;我如何在这里提供我的url?plz help Me您可以将其作为函数中的另一个参数传递,函数中有一个名为url refreshAthours,minutes,seconds,url的参数。您的问题有点复杂unclear@Hasif你没有道理,为什么要在这里提供你的url?您无法重新加载其他url。谢谢您的帮助。我想从索引页重新加载控制器。在索引页中,我将编写这个脚本,并将调用url放在这里