web客户端时钟总结

时间:2021-06-06 13:47:22

前几天开发了一个小系统,需求很简单,倒没什么好说的。然后我想记录的就是其中做的一个web clock。因为以前也做过,但是发现这个东西还不是我以前做的这么简单,现在做一下总结:

1.记得以前的一个.net的项目需要一个web clock,因为当时对js还不是很熟悉,然后在网上搜了一下,发现大家做的都要写很长一段js代码。于是自己就用一句话搞定了,代码很简单:

这个clock当时我自己还觉得还不错,但是现在发现这有一个重大缺陷。因为读的是本地时间,如果客户需要的是服务器的时间就不能满足需求了。

2.在网上我还看到了一种实现方法:

他是在页面加载时得到服务器得到时间和本地时间,然后得出两者之差。然后js每秒重新初始化一个时间对象并加上时间差。我本以为这是一个得到服务器时间的好方法,但是后来发现这也有一个bug。因为这种方法实际上也是取得本地时间,当客户端在访问这个页面时改变自己本地的时间,页面上的时间也会跟着变动。

2.于是我后来我设计了另一种方法:

以上实现的原理是,当页面加载把服务器的时间写到页面上,然后在得到的服务器时间对象上每隔一秒就加一秒。目前我觉得这因该是最好的方案。