我试图使用setTimeout每隔100ms触发一个Bosh请求。当Tab处于活动状态时,它可以正常工作。
但当最小化选项卡时,它不起作用。相反,它每1分钟触发一次请求。
Chrome正在限制setTimeout函数。
有什么办法解决这个问题吗?我想克服这种铬的行为。
这里我使用的是Strophe.js。setTimeout函数由Strophe.js文件调用
首先,我想问你为什么不在这个任务中使用setInterval,因为据我所知,你想每100毫秒启动一次,对吗?
其次,没有真正的解决方法,因为这是标准的浏览器行为,可以防止非活动浏览器选项卡占用大量CPU。
谷歌实际上发布了一篇关于它的博客文章,你可以找到此处=>https://developer.chrome.com/blog/timer-throttling-in-chrome-88/
这是在Chrome V88 中实现的
他们还提到了一些更准确地处理这种行为的技巧。