查看: 219  |  回复: 0
  js 监控网页离开(包括跳转或关闭)的Onbeforeunload如何才能生效
楼主
发表于 2024年6月18日 22:49

Onbeforeunload 是 Web 开发者世界中最大的误解之一:

它拒绝调用所有阻塞的本机函数(警告、提示、确认)。从用户的角度来看,这是显而易见的。

2)它(根据 MDN)应该由“addEventListener”( MDN )注册

3)只有当用户与网站有任何互动时才会被触发。如果没有任何交互(甚至在任何地方单击一次),onbeforeunload 事件将不会被触发。

4)这个事件的目的是例如。代表用户秘密保存留在表单(或其他)中的数据(或记录用户行为等)。它不是为了阻止刷新网站!

因此没有办法(因为那将是徒劳的)显示个性化信息。

唯一的感觉是在重新加载之前保存的数据时隐藏提示窗口。

如果你想隐藏提示窗口,只需不为 event.returnValue 字段设置任何值。

此示例卸载站点(在控制台文本“UNLOAD:1”上写入)在刷新期间没有窗口提示。

具体代码只能由VIP查看,请升级

此示例卸载站点(在控制台文本“UNLOAD:1”上写入)刷新期间带有窗口提示。

具体代码只能由VIP查看,请升级

您可以将任何类型的值用于 event.returnValue(如右侧所列)。这只是编码风格问题。

event.preventDefault 和 return 都对此事件没有影响(因此在您的代码中您可以省略那些注释行)。

在 Chrome、Edge、Firefox、Opera 上测试(2019 年 9 月 23 日验证)。希望能帮助到你。

为 避免意外滑动/拖动屏幕(例如谷歌地图、图像和任何其他稳定内容)而重新加载移动应用程序,此 css 技巧可能很有用:

具体代码只能由VIP查看,请升级

该应用程序可以安全地防止重新加载。

值得考虑为用户提供另一种可能性(例如某些按钮)以在需要时重新加载。

您需要登录后才可以回帖 登录 | 立即注册
【本版规则】请勿发表违反国家法律的内容,否则会被冻结账号和删贴。
用户名: 立即注册
密码:
2020-2024 MaNongKu.com