uploadify 在chrome上崩溃的解决办法

使用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);
});

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

原文地址:https://www.cnblogs.com/zhgblog/p/4253759.html