是否有在移动 Safari 中使用 onbeforeunload 的替代方法?

IT技术 javascript ios mobile-safari onbeforeunload
2021-02-22 02:25:50

在 mobile-safari 中是否有替代方法可以代替 onbeforeunload 使用?我注意到 Google 能够onbeforeunload在 mobile-safari 中捕获该事件。有没有人想过他们是如何做到的?

谷歌能够使用他们的 gmail 客户端做到这一点。创建一条新消息...在文本区域中输入一些内容...点击浏览器后退按钮。它会弹出一条警告消息。我用 iPad 来做我的测试。

2个回答

我猜他们正在使用 History API。通过听 popstate

window.addEventListener("popstate", function(e) { ... });

您可以在允许做任何愚蠢的事情之前显示警告。

嗨 - 这似乎不起作用: window.addEventListener("popstate", function(e) { alert("hi")}); 在 ipad 上没有任何内容。我看到这个答案是 5 年前(!)!
2021-05-15 02:25:50

使用pagehide事件(参考

pagehide 不允许您添加确认弹出窗口,这是原始问题的内容(抱歉!)
2021-04-30 02:25:50
在投反对票之前先阅读这个问题:“在移动 safari 中,是否有替代 onbeforeunload 的替代方法?”。该对话框只是测试它的一个示例。
2021-05-14 02:25:50