JavaScript setInterval()和最小化窗口

2022-07-12 00:00:00 javascript setinterval

它出现在最小化窗口或交换选项卡时,JavaScript的setInterval()方法开始变得非常不可靠。

我刚刚完成了我正在开发的一款应用程序的时间跟踪功能,该功能由setInterval驱动。这一切都工作得很好,直到我开始最小化窗口,然后再回到它,结果发现时间增加了一小部分,只比窗口在屏幕上打开时增加了一小部分。

这似乎是浏览器级别的"功能"。

有没有简单的替代方法,我可以将它换成实际使用的时间单位?


解决方案

这似乎是某些浏览器的一个功能,例如Chrome在不活动/在后台的选项卡中允许超时时间不小于1000毫秒。 您可以阅读here

常见的解决方案是使用Web Worker,因为他们不会受到此问题的影响。事实上,这里已经显示了几个这样的解决方案before。

相关文章