哪些浏览器会在用户执行哪些操作时触发beforeunload事件?

3
  • 关闭窗口
  • 刷新页面
  • 点击链接
  • ??

看起来有些不一致。(我很震惊!)有没有一个列表?我特别关注Firefox,但也对其他浏览器感到好奇。Mozilla文档比较含糊:

window.onbeforeunload
在卸载页面之前触发的事件。

window.onunload
当文档被卸载时会引发卸载事件。

哎呀,谢谢。


关闭一个标签页也是如此。基本上,就在页面即将从内存中清除时。 - pimvdb
1个回答

1

window.onbeforeunload 会在你离开当前页面时触发(从URL地址、后退按钮、关闭浏览器等)。

该事件在Opera中不会触发。但是所有其他浏览器似乎都可以正常使用它。


我过去在 AJAX 密集型网站中使用过这个,主要是为了避免支持“后退”按钮。

它也可以作为确认对话框,以防止您意外丢失工作。但用户可能会因为确认而感到烦恼。所以这可能不足以成为使用它的好理由。


似乎Mac上的Chrome浏览器不会为后退按钮触发onbeforeunload事件。 - Edi
@Edi 我刚在Mac上的Chrome浏览器中测试了一下,事件对我触发了。 - Teddy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接