有一个简单的 javascript 代码可以根据服务器时间创建时钟。一开始他们通过php检查服务器时间,然后用js+1000提高他的价值。但是,如果您在现场更长的时钟开始失去准确性。就像,当我在现场 30 分钟时,会有 5 分钟的延迟,而且有点多。有什么方法可以解决这个问题吗?
问问题
220 次
1 回答
1
一开始他们通过php检查服务器时间,然后用js+1000提高他的价值。但是,如果您在现场更长的时钟开始失去准确性。就像,当我在现场 30 分钟时,会有 5 分钟的延迟,而且有点多。
这是因为脚本只创建了一次 JavaScript Date 对象,然后“希望”执行每 1000 毫秒向该对象增加一秒的代码——这不会发生,因为浏览器正忙于在这之间做其他事情,比如处理用户(鼠标)输入、滚动等等。
有什么方法可以解决这个问题吗?
该脚本应在每个循环上创建一个新的Date 对象,并计算该对象与最初给定的起始值之间的差异。(或者如果性能是一个严重的问题,也可以是两者的组合——每 x 循环创建一个新的 Date 对象,并在这个“更新的”当前时间戳之间添加 x 秒。)
于 2013-06-04T16:48:15.970 回答