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