必须禁用Firefox标签页休眠与后台节流机制:①设置中关闭“休眠标签页”;②about:config将browser.tabs.unloadOnDeactivate设为false、browser.tabs.disableBackgroundZombification设为true、browser.tabs.unloadOnLowMemory设为false;③将dom.min_background_timeout_value和dom.timeout.background_throttling_max_delay_ms均设为4;④关闭增强型跟踪保护并禁用网络预加载。

当您在火狐浏览器中运行依赖WebSocket长连接的Web应用(如实时协作工具、行情终端或远程控制面板)时,后台标签页被自动休眠会导致连接中断、心跳超时、消息丢失,必须彻底禁用该机制才能维持稳定通信。
关闭图形界面中的休眠开关
这是最直接的入口级操作,适用于Firefox 115及以上版本,且无需重启浏览器即可临时生效。
点击右上角三条横线菜单 → 选择“设置” → 左侧导航栏点击“标签页” → 找到“休眠标签页”开关并点击右侧圆点,使其变为灰色(即关闭状态)。
若页面中未显示该选项,请跳至下一节——这通常意味着当前版本已隐藏该UI,需通过底层配置强制干预。
通过about:config禁用核心休眠参数
图形界面关闭后,火狐仍可能因内存压力或失活触发底层休眠逻辑。必须修改三项关键布尔值,否则WebSocket连接会在标签页失焦30秒内被强制终止。
在地址栏输入 about:config 并回车 → 点击“I'll be careful, I promise” → 在搜索框依次执行以下操作:
① 搜索 browser.tabs.unloadOnDeactivate,双击设为 false(此参数控制标签页失焦即卸载,是WebSocket断连主因);
② 搜索 browser.tabs.disableBackgroundZombification,双击设为 true(启用该值可阻止后台标签页进入zombie状态,保留JS执行上下文);
③ 搜索 browser.tabs.unloadOnLowMemory,双击设为 false(防止系统内存紧张时强制销毁后台标签页)。
WebSocket 8.18.2 是该协议规范的一个重要迭代版本,主要优化了连接稳定性与数据传输效率。它通过全双工通信机制,允许客户端与服务器在单一长连接上实时交换数据,大幅降低传统 HTTP 轮询的开销。该版本增强了心跳保活、自动重连及二进制帧传输能力,适用于即时通讯、在线游戏及金融行情推送等低延迟场景,为开发者提供更可靠的实时网络交互基础。
完成上述三步后,必须关闭所有火狐窗口并重新启动浏览器,否则更改不会作用于已打开的标签页进程。
禁用干扰性后台节流策略
即使休眠关闭,火狐仍会对后台标签页施加JavaScript节流(如setTimeout/setInterval延迟放大至1000ms),导致WebSocket心跳包无法按时发出。需叠加关闭以下两项:
在about:config中搜索 dom.min_background_timeout_value,双击修改为 4(单位毫秒,恢复接近前台精度);
再搜索 dom.timeout.background_throttling_max_delay_ms,双击设为 4。
注意:这两项在部分新版本中默认不存在,若搜索无结果,请右键→新建→整数,名称严格按上述拼写,值填4。
停用增强型跟踪保护与预加载
增强型跟踪保护(ETP)和网络预加载模块会主动终止后台页面的fetch/fetch+WebSocket混合请求,造成连接静默失败。
访问任意网页 → 点击地址栏左侧盾牌图标 → 将“增强型跟踪保护”切换为“关闭”;
在about:config中搜索 network.prefetch-next,双击设为 false;
搜索 network.http.speculative-parallel-limit,双击设为 0。

















