当用户在移动设备上最小化浏览器时,如何保持 javascript setTimeout 运行

How to keep javascript setTimeout running when user minimizes the browser on mobile

提问人:itsDanial 提问时间:11/13/2023 最后编辑:Rory McCrossanitsDanial 更新时间:11/13/2023 访问量:31

问:

我的网站上有一个倒数计时器。我遇到了一个问题,如果用户切换选项卡的时间过长,计时器就会与实时不同步。

我通过在 Web Worker 中运行计时器来解决此问题。但是,现在我注意到,在iOS等移动设备上,用户可以最小化浏览器,这仍然会导致计时器不同步。我应该如何解决这个问题?

计时器也在后端运行,因此我可以刷新选项卡以获取当前剩余时间。

当选项卡重新聚焦时,我是否应该触发网页重新加载?

JavaScript iOS vue.js 浏览器 web-worker

评论

0赞 yoduh 11/14/2023
移动设备通常会暂停执行未处于活动状态的应用程序/选项卡以节省资源。而不是 setTimeout,计算时间会更准确,并且一旦代码再次处于活动状态,就会纠正因暂停执行而导致的任何偏差。new Date.now()

答: 暂无答案