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

时间:2012-07-18 20:33:56

标签: javascript jquery internet-explorer-9 onbeforeunload

我正在使用JFileUpload小程序构建网站,并希望以某种方式处理页面的关闭。取消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]的警告,由于setEnabled(false)来电,我的上传器无法访问,因为cancel()电话已取消。

我正在寻找的是相同的功能,只是在IE中。我知道在IE中存在许多很多问题,其中包括onbeforeunload等事件,它会响应不同的事情而触发,但我已经在我的网站中检查了所有这些问题并且没有找到任何内容。我没有碰到任何在线处理我遇到的问题的事情。

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

1 个答案:

答案 0 :(得分:6)

检查Microsoft's Ridiculous Documentation然后确保您使用的所有代码都没有将它们列出的任何内容作为调用beforeunload的触发器,其中包括几个实际上没有卸载页面的内容(去Microsoft!)