使用 window.confirm 而不是 onbeforeunload

Using window.confirm instead of onbeforeunload

除了使用 onbeforeunload 事件,有没有一种方法可以让我在用户尝试刷新 window 或关闭 window 时进行监听,并使用我自己的自定义 window.confirm 消息? onbeforeunload 自定义消息似乎不再支持跨浏览器。

确实,对 onbeforeunload 的支持正在减弱。

https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onbeforeunload

有些浏览器会忽略传入的字符串,有些会忽略对 window.alert()window.confirm()window.prompt().

的调用

许多网站通过检测 window 关闭之前的事件来解决这个问题,例如 mouseout 用户关闭标签之前。

虽然最近很流行,但感觉很黏糊糊的,imo。它可以在用户执行另一项操作时触发(也许是您想要的,例如 "bookmark this page")。我经常看到使用 html5 模式,这比真正阻塞的确认框更不令人反感。还是会影响阅读。