JavaScript setInterval()和最小化窗口
它出现在最小化窗口或交换选项卡时,JavaScript的setInterval()
方法开始变得非常不可靠。
我刚刚完成了我正在开发的一款应用程序的时间跟踪功能,该功能由setInterval
驱动。这一切都工作得很好,直到我开始最小化窗口,然后再回到它,结果发现时间增加了一小部分,只比窗口在屏幕上打开时增加了一小部分。
这似乎是浏览器级别的"功能"。
有没有简单的替代方法,我可以将它换成实际使用的时间单位?
解决方案
这似乎是某些浏览器的一个功能,例如Chrome在不活动/在后台的选项卡中允许超时时间不小于1000毫秒。 您可以阅读here
常见的解决方案是使用Web Worker,因为他们不会受到此问题的影响。事实上,这里已经显示了几个这样的解决方案before。相关文章