【发布时间】:2019-02-04 21:27:14
【问题描述】:
不使用onbeforeunload 事件,当用户尝试刷新窗口或关闭窗口并使用我自己的自定义window.confirm 消息中断该过程时,我有什么方法可以监听?跨浏览器似乎不再支持 onbeforeunload 自定义消息。
【问题讨论】:
标签: javascript addeventlistener onbeforeunload
不使用onbeforeunload 事件,当用户尝试刷新窗口或关闭窗口并使用我自己的自定义window.confirm 消息中断该过程时,我有什么方法可以监听?跨浏览器似乎不再支持 onbeforeunload 自定义消息。
【问题讨论】:
标签: javascript addeventlistener onbeforeunload
确实,对onbeforeunload 的支持正在减弱。
https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onbeforeunload
有些浏览器会忽略传入的字符串,有些会忽略对window.alert()、window.confirm() 和window.prompt() 的调用。
许多网站通过在用户关闭标签之前检测到窗口关闭之前的事件来解决这个问题,例如mouseout。
虽然它最近很流行,但感觉很粘,imo。它可以在用户执行另一项操作时触发(可能是您想要的,例如“将此页面添加为书签”)。我经常看到使用的 html5 模态,它比真正阻塞的确认框更不令人反感。它仍然会干扰阅读。
【讨论】: