我有一个任务,以显示在一些固定的时区(MSK或MSD -取决于当前日期)的HTML页面上的数字时钟(分钟精度)。我希望避免依赖客户端系统时钟,因此需要与服务器进行一些同步。HTTP服务器在每个响应中发送date头,所以我们可以发送一个AJAX GET或HEAD请求到我们网站的任何网址,以获得服务器日期,计算与客户端日期的差异,并使用它更新时钟与setTimeout()。还有其他问题仍然存在:日光设置的时区切换,非常慢的连接的延迟。
对这项任务有什么最简单的方法吗?我更喜欢在没有服务器端编程的情况下解决它。
发布于 2009-10-29 02:00:50
如果您要使用ajax,那么应该记住readyState==2和readyState==3之间的客户端时间,因为服务器时间将设置在收到请求和准备响应的时间之间
发布于 2009-10-29 00:24:39
如果您只需要精确到分钟,我会每隔30秒左右从服务器请求更新。根本不要依赖客户端的时间,而是使用他们的系统时钟来保持两次更新之间的时钟准确。我想你回答了你自己的问题?
如果我们能更好地理解你真正想要做的事情,那将会有所帮助。
如果您只是想要一个时钟来显示服务器上的时间,然后将其调整到某个时区,那么可以在客户端使用偏移量。在时区中处理DST它也适用于使用您从服务器接收的日期。如果你想确定延迟,你可能需要服务器上的一个小脚本来计算差值。但如上所述,这将有助于更好地理解问题。如果精确度仅为分钟,则延迟似乎不那么关键。
发布于 2016-03-08 19:22:03
感谢@Mehdi Yeganeh和@Fedearne。我实现我的函数来同时使用逻辑和它的工作。
https://stackoverflow.com/questions/1638337
复制相似问题