上传功能是工作中经常会遇到的问题,应该作为开发标配的技能每个人都会。

我选用的是Uploadify 3.1.2进行上传,使用方法参考之前的一篇文章, 今天记录下一个我遇到的很神奇的bug

chrome为何频繁崩溃(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

Uploadify导致Chrome频繁崩溃Crash的更多相关文章

  1. uploadify 在chrome上崩溃的解决办法

    使用Uploadify进行文件上传,Chrome经常会报“喔唷,崩溃啦”的错误,见下图: 很显然,这是Chrome浏览器缓存功能,所导致的问题.从LOG里也能看到:正常的情况下,会请求文件(jquer ...

  2. AwSnap:让全版本(Windows、iOS、Android)Chrome浏览器崩溃的有趣漏洞

    彩蛋爆料直击现场 几周前,我们曾报道了13个字符导致Chrome崩溃的漏洞.然而,这个漏洞有个小小的遗憾,那就是它只在MAC OS X下生效,其他系统并不受影响. 现在,我们又有了一个更有趣的漏洞.黑 ...

  3. chrome经常崩溃解决过程

    之前chrome常崩溃,也没有找到原因,就将就着用吧,一直用到今天,今天连续几次崩了,突然想到,难道是因为我访问的域名没有解析(能想到这个,是因为今天分配公司域名测试的时候常输错),于是就输入一个不存 ...

  4. android 程序崩溃crash日志的捕捉

    android 程序崩溃crash日志的捕捉 之前在项目开发过程中,一直会遇到程序崩溃了,但是测试組的哥哥们又没及时的导出日志.... 后来在诳群的时候听别人说起,腾讯有那么一个叫bugly的东西 将 ...

  5. 对“demo!demo.Index+HookProc::Invoke”垃圾收集的类型已委托回调。这可能会导致应用程序崩溃、损坏和数据丢失。当传递委托给非托管代码,托管应用程序必须让这些委托保持活着

    对"demo!demo.Index+HookProc::Invoke"垃圾收集的类型已委托回调.这可能会导致应用程序崩溃.损坏和数据丢失.当传递委托给非托管代码,托管应用程序必须承 ...

  6. winmount导致资源管理器崩溃

    今天,在别人电脑上遇到一个问题,右键点击某个特定文件夹会导致资源管理器崩溃重启,提示为: Runtime Error! Program: C:\Windows\Explorer.exe This ap ...

  7. 最常见的5个导致 RAC 实例崩溃的问题

    适用于: OracleDatabase - Enterprise Edition - 版本11.2.0.1 和更高版本本文档所含信息适用于所有平台 用途 本文档的目的是总结可能导致 RAC 实例崩溃的 ...

  8. ArcGIS for Android 10.1.1API 中文标注导致程序异常崩溃问题

    1.前言 问题:在部分Android机型中使用ArcGIS for Android 10.1.1 API 中文标注导致程序异常崩溃. 说明:手里有两台机器一台是Nexus4,原生系统,版本4.4.4, ...

  9. 《对“XXX::Invoke”类型的已垃圾回收委托进行了回调。这可能会导致应用程序崩溃、损坏和数据丢失。向非托管代码传递委托时,托管应用程序必须让这些委托保持活动状态,直到确信不会再次调用它们》的问题的解决方法

    <对“XXX::Invoke”类型的已垃圾回收委托进行了回调.这可能会导致应用程序崩溃.损坏和数据丢失.向非托管代码传递委托时,托管应用程序必须让这些委托保持活动状态,直到确信不会再次调用它们& ...

随机推荐

  1. Android Strings.xml To CSV / Excel互转

    Android Strings.xml To CSV/Excel互转https://blog.csdn.net/hzxpyjq/article/details/50686983https://blog ...

  2. django引入现有数据库

    Django引入外部数据库还是比较方便的,步骤如下: 1.创建一个项目,修改seting文件,在setting里面设置你要连接的数据库类型和连接名称,地址之类,和创建新项目的时候一致. 2.运行下面代 ...

  3. BZOJ5074 小B的数字 BZOJ2017年10月月赛 其他

    欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ5074 题意概括 题解 作为蒟蒻的我第一个就选择了过的人最多的D题. 不仔细看好吓人. 然而并不难. ...

  4. fork调用的底层实现

    fork调用的内核实现: http://www.cnblogs.com/huangwei/archive/2010/05/21/1740794.html http://blog.csdn.net/he ...

  5. linux下设置php执行命令

    第一种方法: 打开用户根目录下的: vi ~/.bash_profile # .bash_profile # Get the aliases and functions if [ -f ~/.bash ...

  6. STL之双向队列(dequeue)

    //双向队列 deque #include <deque> #include <cstdio> #include <algorithm> using namespa ...

  7. 如何在Eclipse中查看Java类库的源代码以及相应的api

    你的JDK安装目录下%Java_home%/src.zip文件就是源码,解压缩找到对应包下面的类即可. 如果是Eclipse开发,ctr+鼠标左击,出现不了源码的话,在弹出的视图中点击attach s ...

  8. iOS11开发教程(二十三)iOS11应用视图实现按钮的响应(3)

    iOS11开发教程(二十三)iOS11应用视图实现按钮的响应(3) 2.使用代码添加按钮实现的响应 使用代码添加的按钮,实现响应需要使用到addTarget(_:action:for:)方法,其语法形 ...

  9. javascript鼠标滚动

    firefox使用DOMMouseScroll,其他浏览器使用mousewheel当滚动时获取wheelDelta值,firefox使用detail:值为下滚3上滚-3,其他浏览器使用wheelDel ...

  10. ELASTIC API

    运维常用API. curl -XGET 'localhost:9200/_cat/indices?v&pretty' #查看索引 curl -XGET 'localhost:9200/_cat ...