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

Sco*_*t M 1 javascript jquery onbeforeunload internet-explorer-9

我正在使用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();} 
        }); 
    });
Run Code Online (Sandbox Code Playgroud)

我在主网站的新标签页面中打开包含上传器的页面,并希望在取消上传时将其关闭.然而,当我在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函数包装在不同的东西中,例如上面的load函数$(document).ready(),但是它们要么给我相同的问题,要么创建新的问题.

MrO*_*ian 6

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