关于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

相关推荐
kyriewen7 小时前
console.log 骗了我一整个通宵:原来它才是时间旅行者
前端·javascript·chrome
冴羽7 小时前
在浏览器控制台调试的 6 个秘密技巧
前端·javascript·chrome
范桂飓12 小时前
OpenClaw 指令大全
前端·人工智能·chrome
新缸中之脑14 小时前
Chrome DevTools MCP
前端·chrome·chrome devtools
success11215 小时前
hadoop集群准备工作
大数据·hadoop·chrome
熊猫钓鱼>_>16 小时前
Puppeteer深度解析:Chrome自动化的艺术与实践
前端·人工智能·chrome·自动化·云计算·puppeteer·mcp
buhuimaren_17 小时前
系统安全及运用
前端·chrome
新缸中之脑17 小时前
Chrome 146:终结专用AI浏览器?
前端·人工智能·chrome
zhengzhengwang17 小时前
chrome v8 内存管理机制
jvm·chrome·算法
咖啡の猫2 天前
Redis命令-Set命令
数据库·chrome·redis