uploadify 在chrome上崩溃的解决办法

时间:2024-03-08 07:01:54

使用Uploadify进行文件上传,Chrome经常会报“喔唷,崩溃啦”的错误,见下图:

很显然,这是Chrome浏览器缓存功能,所导致的问题。从LOG里也能看到:
正常的情况下,会请求文件(jquery.uploadify.min.js);而崩溃的情况下,则没请求它。

<script language="javascript" type="text/javascript">  
    //防止客户端缓存文件,造成uploadify.js不更新,而引起的“喔唷,崩溃啦”  
    document.write("<script type=\'text/javascript\' "  
            + "src=\'jquery.uploadify.min.js?" + new Date()  
            + "\'><\/script>");  
</script>

  

其实这个办法并不能完全解决崩溃问题,比如在uplodify页面进入其他页页后,再点击后退返回到这个uploadify页面,同样会出现崩溃问题。

其实如果不用缓存每次去请求服务器其实是个很浪费的事,关键是这样做根本就没有解决这个问题。真正的解决的办法也很简单,就是用setTimeout,让uplodify的初始化和浏览器缓存模块的功能不要在同时进行,操作如下:

$(function(){
    setTimeout(function(){
        $(\'#file_upload\').uploadify({
            \'swf\'      : \'tools/uploadify/uploadify.swf\',
            \'uploader\' : \'upload.php\',
            \'onUploadSuccess\' : function(file, data, response) {
                 
            }
        });
    },10);
});

这样即可解决启动时/后退时崩溃问题。