window.onunload 在关闭 IE 时不会完成

window.onunload doesn't complete when closing IE

本文关键字:IE onunload window      更新时间:2023-09-26

我有一个在IE中运行的Web应用程序,当我在IE上单击"X"右上角关闭应用程序时,它将调用(通过javascript window.onunload)一个struts操作并删除数据库中表中的记录。但现在我发现它有时是不正确的。当我关闭IE时,记录有时不会被删除。应该是在未删除记录时不调用支柱操作的情况。

更有趣的是,当我打开Fiddler时,记录在关闭时被正确删除,即每次,没有失败的情况。

多谢。

您不能依赖"onunload"事件。

从网络浏览器的角度考虑一下:它是否应该等到所有打开的页面处理"onunload"事件,即使它需要 30 秒?浏览器可能可靠地向所有打开的选项卡触发"onunload"事件,但它只等待很短的时间来完成它们。这就是为什么你会看到不一致的行为。

如果你真的必须这样做,看看onbeforeunload,但它的实现在浏览器之间是不一致的:IIRC,opera 没有实现它。