Loading... ## 引言 最近在看小说,起点的限免频道,发现了一个`js`的小毛病 起点前端的页面有个“限免剩余时间”的定时器,我打开之后去别的网页浏览一段时间回来之后,发现定时器走的时间跟我离开的时长不符,然后就在研究这个发生的原因。 ![限免剩余时间](https://aliyun-yuesha-public-oss.oss-cn-zhangjiakou.aliyuncs.com/usr/uploads/2024/05/2784373378.png) ## 原因 发现是这个标签页面,在我离开这个页面(切换到别的标签的时候),定时器休眠了,页面`js`部分应该都停止运行了。 然后再回来的时候,并不会从服务器校正时间,而是直接继续倒计时。 所以造成了这个`bug` ## 解决 翻了一下文档,发现`js`有个`visibilitychange`事件,可以监听窗口隐藏和显示状态,在这里如果进行一次时间校准(从服务器请求时间戳),那么就可以解决这个`bug`了 欢迎关注拓行公众号,分享各种技术博客文章拓行——奋勇进取,开拓未来,砥砺前行 最后修改:2024 年 05 月 30 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果您对各种技术博客文章感兴趣,欢迎关注拓行公众号,分享各种专业技术知识~