<分区>
当您最小化窗口或交换选项卡时,JavaScript 的 setInterval()
方法开始变得难以置信地不可靠。
我刚刚完成了我正在开发的应用程序的时间跟踪功能,该功能由 setInterval
驱动。这一切都非常完美,直到我开始最小化窗口并稍后返回,才发现时间比窗口在屏幕上显示时增加了一小部分。
这似乎是浏览器级别的“功能”。
是否有一个简单的替代方案,我可以将其替换为实际遵守时间单位的地方?
<分区>
当您最小化窗口或交换选项卡时,JavaScript 的 setInterval()
方法开始变得难以置信地不可靠。
我刚刚完成了我正在开发的应用程序的时间跟踪功能,该功能由 setInterval
驱动。这一切都非常完美,直到我开始最小化窗口并稍后返回,才发现时间比窗口在屏幕上显示时增加了一小部分。
这似乎是浏览器级别的“功能”。
是否有一个简单的替代方案,我可以将其替换为实际遵守时间单位的地方?
最佳答案
这似乎是某些浏览器(例如 Chrome)中的一项功能,允许处于非事件状态/后台的选项卡的超时时间不少于 1000 毫秒。 你可以阅读它here
常见的解决方案是使用 Web Worker,因为它们不会受到此问题的影响。事实上,这里已经展示了一些这样的解决方案 before .
关于JavaScript setInterval() 和最小化窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34165421/