1

我正在使用JFileUpload小程序构建一个站点,并希望以某种方式处理页面的关闭。取消小程序时调用 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 函数包装在不同的东西中,例如上面的 load 函数以及$(document).ready(),但它们要么给我同样的问题,要么创建新的问题。

4

1 回答 1

6

检查Microsoft 的荒谬文档然后确保您使用的代码都没有执行他们列出的任何事情作为调用的触发器beforeunload,其中包括一些实际上不会卸载页面的事情(去微软!)

于 2012-07-18T20:52:04.760 回答