javascript - JS:最小化浏览器时,setTimeout 被 Chrome 浏览器限制
问题描述
我正在尝试使用 setTimeout 每 100 毫秒触发一次 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 中实现
他们还提到了一些更准确地处理这种行为的技术。
推荐阅读
- html - 如何使用 express.js 获取选择选项的值?
- c# - 如何组合多个 Func<> 委托
- php - 如何在 Laravel web.php 路由中使用 php 箭头函数
- javascript - 如何将等待与“$.get”一起使用?
- php - 当代码在云中运行时,我下载文件的 php 脚本只是在浏览器中显示它,但在我的本地服务器上运行良好
- ios - 如何使用 SwiftyJSON 解析类型不明确的数据?
- r - 如何在R中绑定多个列
- python - 根据另一个数据集中的元素位置过滤熊猫数据帧的快速方法
- javascript - 从每月或每周或每天或议程更改视图会使应用程序对大日历做出反应
- java - 反应堆跳转到错误的调度程序?