Uploadify导致Chrome频繁崩溃Crash

上传功能是工作中经常会遇到的问题,应该作为开发标配的技能每个人都会。
我选用的是Uploadify 3.1.2进行上传,使用方法参考之前的一篇文章, 今天记录下一个我遇到的很神奇的bug

chrome为何频繁崩溃(crash)

crash
本地开发环境一切正常, 但是上线后Chrome却频繁crash,IE、Firefox等浏览器都没有问题,google的建议删除自己的default目录,觉得不靠谱没有尝试。

一开始搞不懂为什么会出现这种情况,通过Google查资料,发现是浏览器缓存造成的:Chrome浏览器为了提高用户访问同一页面的速度,会对页面数据进行缓存,当(Javascript文件)url请求地址不变时会导致浏览器不发送请求,直接从缓存中读取之前的数据,可能uploadify.js文件走了缓存,导致某个变量为null导致chrome崩溃(个人猜测,也有可能是ajax引起的)

解决办法

根据stackoverflow上的帖子,给js文件加上随机参数,欺骗chrome浏览器防止缓存,使每次都发起请求。

  • Asp.Net Web From
<script src="/Resources/uploadify/jquery.uploadify3.1Fixed.js?ver=<%=(new Random()).Next(0, 99999).ToString() %>" type="text/javascript"></script>
  • Asp.Net MVC
<script type="text/javascript" src=@Url.Content("~/Content/uploadify/jquery.uploadify3.1Fixed.js?ver=")@DateTime.Now.Ticks></script>
  • PHP
<script src="js/jquery.uploadify.min.js?ver=<?php echo rand(0,9999);?>" type="text/javascript"></script>

参考:

Caching uploadify files crashes the chrome
caching-javascript-safely

posted on 2014-08-06 11:36  Frank.Fan  阅读(9400)  评论(14编辑  收藏  举报