visibilitychange事件

触发时机

当导航到其他页面、切换标签页、关闭当前标签页、最小化或关闭浏览器(对于移动端,还包括切换浏览器到其他app)时,触发visibilityState: hidden事件,MDN visibilitychange_event

与其他事件对比

onbeforeunload,当窗口即将被卸载(关闭)时,会触发该事件,此时页面文档依然可见。

unload,在关闭窗口资源和内容的时候触发,页面资源的清除工作会在 unload 事件之后进行。

Chrome测试结果看,onbeforeunload事件快于visibilitychange,差值一般在10ms内,unload和visibilitychange几乎同时: