关于setInteval定时器在不同浏览器下表现差异

背景:

项目下用到websocket, 中间使用了setInterval 定时向服务端发送心跳包, 5s/次, 观察正常, 就将浏览器最小化后, 经过了两天, 周一过来查看, 咋才 5000次;

问题分析:

遇到这种简单的问题当然是请教一下GPT 来的最快最实际, 不出所料, 马上得到证实;

chrome 88 版本之后就加入了这个功能, 当标签页处于非活动状态时, 定时器的循环时间会被节流, 设置为 1分钟每次;

https://developer.chrome.com/blog/timer-throttling-in-chrome-88/

解决办法:

在启动命令后增加 --disable-background-timer-throttling 参数

例如: chrome.exe --disable-background-timer-throttling

相关推荐
shuangrenlong9 小时前
ubuntu更新chrome版本
linux·chrome·ubuntu
是晓晓吖19 小时前
为什么在Tab中取不到content.js给window设置的变量/函数?
前端·chrome
发如雪-ty21 小时前
Bash常用操作总结
前端·chrome
lpfasd1232 天前
开发Chrome/Edge插件基本流程
前端·chrome·edge
森之鸟2 天前
Mac chrome浏览器下载DevEco Studio 6.0.0 Beta2失败
前端·chrome·macos
John_ToDebug2 天前
JS 与 C++ 双向通信实战:基于 WebHostViewListener 的消息处理机制
前端·c++·chrome
As33100102 天前
Chrome 插件开发实战:打造高效浏览器扩展
前端·chrome
John_ToDebug2 天前
深入解析 Chrome UI 布局配置的设计思想与实现机制
chrome·ui
EndingCoder3 天前
Chrome插件开发实战:从零开发高效Chrome插件,提升浏览器生产力
前端·chrome
kuidun4 天前
Linux常见指令大全:从入门到精通
linux·运维·chrome·linux入门指令