随笔 - 224  文章 - 0  评论 - 216  阅读 - 109万

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   Frank.Fan  阅读(9409)  评论(14编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
历史上的今天:
2012-08-06 Repeater控件用法
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示