IE9在窗口打开时触发onb​​eforeunload事件

我正在使用JFileUpload applet构建一个站点,并希望以某种方式处理页面的关闭。 取消applet时会调用JSTransferCancelled。 以下代码是我用来处理这些事件的代码,它适用于IE以外的所有浏览器。

function JSTransferCancelled(){ bCancel=false; $.post("cancel.php"); self.close(); } $(window).load(function(){ $(window).bind('beforeunload',function(){ document.uploader.setEnabled(false); if(bCancel){ document.uploader.cancel();} }); }); 

我在主站点的新选项卡中打开包含上传器的页面,并在取消上传时关闭它。 但是,当我在IE中打开选项卡时,我立即收到警告说The webpage you are viewing is trying to close this tab. Do you want to close this tab? [OK] [Cancel] The webpage you are viewing is trying to close this tab. Do you want to close this tab? [OK] [Cancel] The webpage you are viewing is trying to close this tab. Do you want to close this tab? [OK] [Cancel]我的上传器由于setEnabled(false)调用而无法访问,因为cancel()调用而被cancel()

我正在寻找的是相同的function,只是在IE中。 我知道在IE中存在很多很多问题,例如onbeforeunload,它会响应不同的事情而触发,但我已经在我的网站中检查了所有这些问题并且没有找到任何东西。 我没有碰到任何在线处理我遇到的问题的事情。

我已经尝试将onbeforeunload函数包装在不同的东西中,例如上面的load函数以及$(document).ready() ,但它们要么给我相同的问题,要么创建新的问题。

检查Microsoft的可笑文档然后确保您使用的任何代码都没有执行任何列出的事件作为触发器调用beforeunload ,其中包括几个实际上没有卸载页面的内容(去Microsoft!)