好的,我花了一段时间解决这个问题,这是我收集到的:
如果在IE7中调用AJAX,并且指定了window.onbeforeunload函数,则它将调用onbeforeunload函数。
如果尝试使用window.open打开一个新窗口而又不打扰当前窗口,则会调用onbeforeunload。
有人知道如何制止吗?我什至尝试将变量设置为TRUE,并在onbeforeunload函数中检查该变量,它仍然有效!我只需要能够停止AJAX调用和新窗口调用的方法的执行即可。
另一个可能更简单的选项是在打开弹出窗口时返回false:
<a onclick="window.open(...); return false;" href="javascript:;" >my link</a>
这似乎阻止IE以为您正在离开页面并触发事件。所有其他选项对我来说都不是特别可行。