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

相关推荐
轻动琴弦1 天前
VoltTool —— 一站式在线开发者工具平台,69+实用工具免费使用
前端·chrome
Tim_Van2 天前
在 CentOS 7 中安装 Chromium 的完整步骤
linux·运维·chrome·centos
一只猫的梦2 天前
自动化模块 (Automation Module)
前端·chrome
一只猫的梦2 天前
AI 适配器架构
前端·chrome
HAPPY酷3 天前
【ROS2】PyCharm 启动 Gazebo 仿真报错?从配置 Shell 到修复路径的全流程复盘
ide·chrome·pycharm
sztomarch3 天前
Disable-Download-Chrome-AI-Mode
前端·chrome
霸道流氓气质3 天前
Kiro 中反编译 JAR 包并分析字节码的流程指南
chrome·python·jar
耍酷的魔镜3 天前
用虚拟机实际体验Google Chromium OS (Chrome OS) Pre-Built
前端·chrome
莫生灬灬3 天前
DY联系人聊天Web面板支持获取联系人/聊天记录/发送消息
前端·chrome·websocket·c#
邱先生~4 天前
谷歌浏览器设置纵向标签页
chrome