引言

最近在看小说,起点的限免频道,发现了一个js的小毛病

起点前端的页面有个“限免剩余时间”的定时器,我打开之后去别的网页浏览一段时间回来之后,发现定时器走的时间跟我离开的时长不符,然后就在研究这个发生的原因。

限免剩余时间

原因

发现是这个标签页面,在我离开这个页面(切换到别的标签的时候),定时器休眠了,页面js部分应该都停止运行了。

然后再回来的时候,并不会从服务器校正时间,而是直接继续倒计时。

所以造成了这个bug

解决

翻了一下文档,发现js有个visibilitychange事件,可以监听窗口隐藏和显示状态,在这里如果进行一次时间校准(从服务器请求时间戳),那么就可以解决这个bug


欢迎关注拓行公众号,分享各种技术博客文章

拓行——奋勇进取,开拓未来,砥砺前行

最后修改:2024 年 05 月 30 日
如果您对各种技术博客文章感兴趣,欢迎关注拓行公众号,分享各种专业技术知识~