移动浏览器在关闭浏览器时不会触发`beforeunload` /`onload`

时间:2020-07-16 12:36:38

标签: javascript google-chrome firefox web-frontend

我在移动浏览器上工作了大约3个月,现在我对beforeunloadonload感到无聊。在两种情况下,它们无法正常工作。当我关闭标签时,浏览器会经常调用它们。但是,当用户使用某些例程关闭浏览器时,为什么它根本不触发这些事件?有什么问题吗?

1 个答案:

答案 0 :(得分:0)

“许多开发人员将unload事件视为有保证的回调,并将其用作会话结束信号来保存状态并发送分析数据,但是这样做极其不可靠,尤其是在移动设备上!unload事件不会触发在许多典型的卸载情况下,包括从移动设备上的标签切换器关闭标签或从应用切换器关闭浏览器应用。

因此,始终最好依靠visibilitychange事件来确定会话何时结束,并把隐藏状态视为保存应用程序和用户数据的最后可靠时间。”

来源:Page Lifecycle API