Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在特定时间更新您的主页?_Javascript_Jquery_Html - Fatal编程技术网

Javascript 如何在特定时间更新您的主页?

Javascript 如何在特定时间更新您的主页?,javascript,jquery,html,Javascript,Jquery,Html,长时间浏览,第一次询问 我正在开一家在线商店,每晚在美国东部时间午夜更新它的主页。我需要过渡顺利进行,并有网站自动刷新时,时钟敲12为用户在页面上。类似于teefury.com和theyetee.com等网站 有没有一个脚本可以实现这一点 非常感谢 与类似的问题一样,您可以通过以下方式执行此操作: var now = new Date(); var night = new Date( now.getFullYear(), now.getMonth(), now.getDa

长时间浏览,第一次询问

我正在开一家在线商店,每晚在美国东部时间午夜更新它的主页。我需要过渡顺利进行,并有网站自动刷新时,时钟敲12为用户在页面上。类似于teefury.com和theyetee.com等网站

有没有一个脚本可以实现这一点

非常感谢

与类似的问题一样,您可以通过以下方式执行此操作:

var now = new Date();
var night = new Date(
    now.getFullYear(),
    now.getMonth(),
    now.getDate() + 1, // the next day, ...
    0, 0, 0 // ...at 00:00:00 hours
);
var msTillMidnight = night.getTime() - now.getTime();
setTimeout('document.location.refresh()', msTillMidnight);
这里唯一的区别是运行脚本的最后一个计时器。脚本的其余部分的工作原理与另一个问题中的相同

如果要使用UTC而不是用户的本地时间,可以将
var night
的值更改为以下值:

var night = new Date(
    now.getUTCFullYear(),
    now.getUTCMonth(),
    now.getUTCDate() + 1, // the next day, ...
    0,
    now.getTimezoneOffset(), //this returns the amount of minutes difference in timezones
    0
);

但是你知道用户可以通过适当地设置他们的时钟来规避这个问题吗?这是你可以忍受的吗?我建议你不要只是在午夜刷新页面,每分钟都要轮询更新,所以不管你何时更新它或修改任何东西,这都不会真的很好。但是,当用户单击任何内容时,在发送响应之前,请检查它是否仍然可用,如果不可用,则返回一个自定义页面错误,说明页面不再处于活动状态或其他内容,@joetje50,此计时器是否在服务器时钟或用户时钟的作用下工作?另外,您知道html在12点自动更新的方法吗?@user3263100如果您的服务器使用UTC(应该是UTC)运行,则此新代码将在“服务器时间”内工作。另外,“12点自动更新”是什么意思?此脚本将在0:00:00h刷新页面。这不是你想要的吗?如果您还想在中午刷新,只需将第一个
0
更改为
12
。哦,不,这正是我需要的!但我想知道是否有办法让代码本身在午夜直接改变。例如,我正在做一个24小时的促销活动,我希望它能在午夜12点直接从主页上删除。有没有办法在12点准确地更新主页,而不用手动更改所有代码@如果
now.getDate()+1,//第二天
get是
32
?也许最好在Javascript中使用momentjs.com之类的库来实现这些功能,这样比较省事。@MartinSchilliger在您的控制台中试试:
newdate(2016,0,32)
。这应该返回1月32日,但是JavaScript知道这意味着2月1日,所以它使用的就是这个。此脚本工作正常,无需安装另一个库。