小编Chr*_*ris的帖子

浏览器在一段时间不活动后停止发出 AJAX 请求

我创建了一个空的 HTML 页面,其中有一个简单的方法setInterval(),通过 无限期地每 30 秒触发一次 AJAX 调用window.fetch()。然而,在 Chrome 中,如果我离开计算机 24 小时然后返回计算机,我会注意到 AJAX 调用在某个时刻停止触发。

请注意,这台计算机不会进入睡眠、休眠、屏幕锁定等状态。换句话说,我离开显示器,第二天回来,看到与前一天完全相同的屏幕,但Chrome 调试器中的“网络”选项卡显示浏览器在某个时刻停止进行 AJAX 调用。

我想知道的是,浏览器是否有某种内部进程或线程管理,可以将“空闲”选项卡置于睡眠状态并停止执行网络调用,或者停止执行 JavaScript 间隔和/或超时?现代浏览器是否有某种资源节约/内存管理功能,将选项卡置于“睡眠”状态,这可以解释这一点?

javascript ajax google-chrome settimeout setinterval

5
推荐指数
0
解决办法
472
查看次数