uploadify 在chrome上崩溃的解决办法

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

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

上一篇:高版本Chrome不支持showModalDialog


下一篇:Ubuntu 编译出现 ISO C++ 2011 不支持的解决办法