当我的网页处于后台时,如何防止计时器被 Chrome 限制?

How to prevent timer from being throttled by Chrome when my webpage in background?

去年,Chrome shipped a feature to increase battery life by limiting JavaScript timer wake ups in background webpages

setTimeout(()=>{
  console.log('done')
}, 1000)

上面的代码会在后台打印1second.But后打印日志,大约10秒后打印。它会导致很多问题。

那么,是否有任何解决方案可以防止 Chrome 限制我的计时器?

您可以尝试在 window 处于活动状态时加载脚本,但如果无济于事,HackTimer.js 是使用 Web Workers 的一个很好的解决方法。

以下线程中提供了可能的解决方案:

  1. Chrome: timeouts/interval suspended in background tabs?
  2. How can I make setInterval also work when a tab is inactive in Chrome?

希望你已经检查过了。