首页 > 解决方案 > JS:最小化浏览器时,setTimeout 被 Chrome 浏览器限制

问题描述

我正在尝试使用 setTimeout 每 100 毫秒触发一次 Bosh 请求。当 Tab 处于活动状态时,它工作正常。

但是在最小化选项卡时它不起作用。相反,它每 1 分钟触发一次请求。

Chrome 正在限制 setTimeout 函数。

有没有办法解决这个问题?我想克服这种镀铬行为。

这里我使用的是 Strophe.js。setTimeout 函数由 strophe.js 文件调用

标签: javascriptgoogle-chrome

解决方案


首先,我想问你为什么不使用 setInterval 来完成这个任务,因为据我了解,你想每 100 毫秒触发一次,对吗?

其次,没有真正的解决方法,因为它是标准的浏览器行为,以防止非活动浏览器选项卡的高 CPU 使用率。

谷歌实际上发布了一篇关于它的博客文章,你可以在这里找到 => https://developer.chrome.com/blog/timer-throttling-in-chrome-88/

这在 Chrome V88 中实现

他们还提到了一些更准确地处理这种行为的技术。


推荐阅读