You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

页面导航时visibilitychange事件不再触发?求助排查原因

关于visibilitychange事件在页面跳转时未触发的疑问

根据MDN文档说明,visibilitychange事件会在用户导航到新页面、切换标签页、关闭标签页、最小化或关闭浏览器,或在移动设备上从浏览器切换到其他应用时,以visibilityState为hidden的状态触发。

但我此前的经验和该描述相符,现在却发现并非如此(至少在Chrome和Firefox中是这样),当前使用的是桌面版Chrome 121.0.6167.160版本。

复现步骤

参考MDN的会话结束分析示例,在浏览器控制台中复制以下代码:

document.onvisibilitychange = () => {
  console.log(document.visibilityState);
};
  • 切换标签页时,控制台会正常输出"hidden"和"visible";
  • 点击任意链接跳转到新页面时,即使开启了控制台的保留日志选项,也没有任何输出,因此推测此时visibilitychange事件未触发。

进一步验证

将控制台日志替换为实际的sendBeacon请求,结果一致,依然没有触发事件。

由于Chrome和Firefox均出现此情况,不太可能是浏览器bug,想请教我忽略了什么或存在哪些理解误区?

内容的提问来源于stack exchange,提问作者jdrub

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 04:10:02