我发现以下情况,其中在IE11中使用beforeunload事件会导致无法关闭IE窗口或选项卡的奇怪行为。
要重现,请在浏览器控制台中运行以下代码:
window.onbeforeunload = function(){return false;}
这将在刷新页面或尝试退出页面/浏览器时触发确认弹出窗口。 刷新页面很好,它总是触发弹出窗口。 但是如果要执行以下操作,则选项卡/浏览器关闭将失败(您不会弹出窗口,因为未触发事件-您无法通过单击关闭图标来关闭浏览器):
仅使用一个选项卡打开IE 11。 在控制台中运行代码(针对此选项卡)。 尝试关闭选项卡---一切都好,您会弹出---不要离开页面。 打开第二个标签。 转到第一个标签,然后再次尝试将其关闭---仍然不错。 现在关闭第二个选项卡。 尝试关闭第一个标签---没有弹出窗口,关闭按钮没有任何作用。 如果您打开另一个标签,则一切都将再次正常运行。
有人对如何解决此问题有任何想法吗?