Internet Explorer在window.open和AJAX调用上调用window.onbeforeunload

age*_*fll 11 ajax internet-explorer onbeforeunload window.open

好的,我已经花了一些时间解决这个问题,这就是我收集的内容:

  1. 如果在IE7中进行AJAX调用并且指定了window.onbeforeunload函数,则会调用onbeforeunload函数.

  2. 如果您尝试使用window.open打开一个新窗口而不打扰当前窗口,则会调用onbeforeunload.

有谁知道如何制止这个?我甚至尝试将变量设置为TRUE并在我的onbeforeunload函数中检查该变量,它仍然无效!我只需要能够为AJAX调用和新窗口调用停止执行该方法.

小智 7

另一种可能更简单的选择是在打开弹出窗口时返回false:

<a onclick="window.open(...); return false;" href="javascript:;" >my link</a>
Run Code Online (Sandbox Code Playgroud)

这似乎阻止IE认为你离开页面并触发事件.所有其他选择对我来说都不是特别可行.