JavaScript setTimeout和系统时间的更改会导致问题

Mar*_*cny 20 javascript settimeout system-clock

我注意到如果我setTimeout将来设置为1分钟,然后将系统时间更改为过去的5分钟,则该setTimeout功能将在6分钟内触发.

我这样做是因为我想看看在夏令时改变系统时钟时会发生什么.

我的JavaScript网页使用一个setTimeout功能每5秒自动刷新页面,如果发生夏令时,页面信息将冻结一小时.有解决方法吗?

编辑:我正在使用Ajax更新页面,我不想刷新整个页面.

Sie*_*rix 4

我要做的就是从每 5 秒打开一个新的 Ajax 请求更改为使用Comet(长轮询)。这是一个更好的选择,因为服务器每次需要时都会将新结果推送到浏览器,这可以是服务器端每 5 秒一次或每次有新信息可用时。

更好的是使用网络套接字并让 Comet 作为后备。使用Fayesocket.io可以轻松实现这一点。

还有其他选择,例如 CometD 或 Ape。