首页 > 解决方案 > IE 11 beforeunload 事件不会被触发

问题描述

我发现以下情况,在 IE11 中使用 beforeunload 事件会导致无法关闭 IE 窗口或选项卡的奇怪行为。

要重现,请在浏览器控制台中运行以下代码:

window.onbeforeunload = function() { return false;}

这应该会在刷新页面或尝试退出页面/浏览器时触发确认弹出窗口。刷新页面很好,它总是触发弹出窗口。但是如果您这样做,则选项卡/浏览器关闭失败(您不会弹出窗口,因为未触发事件 - 您无法通过单击关闭图标关闭浏览器):

打开 IE 11,只有一个选项卡。在控制台中运行代码(对于此选项卡)。尝试关闭标签 - - - 一切都好,你会弹出 - - - 不要离开页面。打开第二个选项卡。转到第一个选项卡,然后再次尝试关闭它 - - - 仍然很好。现在关闭第二个选项卡。尝试关闭第一个选项卡 - - - 没有弹出窗口,关闭按钮不做任何事情。如果您打开另一个选项卡,一切都会再次正常运行。

有谁知道如何解决这个问题?

标签: javascripteventsbrowserinternet-explorer-11onbeforeunload

解决方案


推荐阅读