浏览器后台标签页优化
现代网页浏览器会主动对后台标签页进行优化,以此降低CPU占用、内存消耗与设备电量损耗。该机制会对依赖周期性JavaScript定时器(如 setInterval()、setTimeout())维持HTTP会话保活的网页应用造成影响。
谷歌Chrome浏览器
Chrome采用高强度唤醒节流机制:
- 后台标签页内的JavaScript定时器会被逐步限流;
- 标签页转入后台约5分钟后,定时器最高仅能每分钟执行1次;
- Chrome还内置「内存节省程序」功能,可自动停用闲置标签页。用户可通过 设置→性能→始终保持这些网站活跃 给指定网站添加豁免名单。
微软Edge浏览器
Edge基于Chromium内核开发,因此继承了Chrome的JavaScript定时器限流逻辑。
除此之外,Edge额外提供两项节能功能:
用户可在 设置→系统和性能 中关闭休眠标签页功能,或将特定网站排除休眠名单。
火狐Firefox浏览器
Firefox同样会限制后台标签页的JavaScript运行,减少资源占用。
火狐没有和「休眠标签页」对等的可视化开关,但闲置标签页的定时器唤醒频次会大幅降低,可能导致周期性会话保活请求出现延迟。
Safari浏览器
Safari为最大化续航,会强力挂起后台标签页,macOS与iOS平台尤为明显。
受系统运行状态影响,后台JavaScript代码可能延迟执行,甚至直接被暂停,这是Safari省电策略的固有机制。
对EVE-NG平台造成的影响
用户使用原生控制台时,常会切换至PuTTY、SecureCRT、终端等外部工具操作,此时EVE-NG网页标签页会停留在后台。
这种场景下,浏览器的后台优化机制会延迟甚至暂停JavaScript代码运行。若网页会话依靠定时器周期性发送保活请求,保活报文将无法按时送达服务器,最终造成服务端会话超时失效。