龍巖易富通網(wǎng)絡(luò)科技有限公司

龍巖小程序開(kāi)發(fā),龍巖分銷系統(tǒng)

Uploadify導(dǎo)致Chrome頻繁崩潰Crash

2015.09.10 | 2053閱讀 | 0條評(píng)論 | 工作筆記

上傳功能是工作中經(jīng)常會(huì)遇到的問(wèn)題,應(yīng)該作為開(kāi)發(fā)標(biāo)配的技能每個(gè)人都會(huì)。
我選用的是Uploadify 3.1.2進(jìn)行上傳,使用方法參考之前的一篇文章, 今天記錄下一個(gè)我遇到的很神奇的bug

chrome為何頻繁崩潰(crash)

本地開(kāi)發(fā)環(huán)境一切正常, 但是上線后Chrome卻頻繁crash,IE、Firefox等瀏覽器都沒(méi)有問(wèn)題,google的建議刪除自己的default目錄,覺(jué)得不靠譜沒(méi)有嘗試。

一開(kāi)始搞不懂為什么會(huì)出現(xiàn)這種情況,通過(guò)Google查資料,發(fā)現(xiàn)是瀏覽器緩存造成的:Chrome瀏覽器為了提高用戶訪問(wèn)同一頁(yè)面的速度,會(huì)對(duì)頁(yè)面數(shù)據(jù)進(jìn)行緩存,當(dāng)(Javascript文件)url請(qǐng)求地址不變時(shí)會(huì)導(dǎo)致瀏覽器不發(fā)送請(qǐng)求,直接從緩存中讀取之前的數(shù)據(jù),可能uploadify.js文件走了緩存,導(dǎo)致某個(gè)變量為null導(dǎo)致chrome崩潰(個(gè)人猜測(cè),也有可能是ajax引起的)

解決辦法
根據(jù)stackoverflow上的帖子,給js文件加上隨機(jī)參數(shù),欺騙chrome瀏覽器防止緩存,使每次都發(fā)起請(qǐng)求。
<script src="/Resources/uploadify/jquery.uploadify3.1Fixed.js?ver=<%=(new Random()).Next(0, 99999).ToString() %>" type="text/javascript"></script>

<script type="text/javascript" src=@Url.Content("~/Content/uploadify/jquery.uploadify3.1Fixed.js?ver=")@DateTime.Now.Ticks></script>
<script src="js/jquery.uploadify.min.js?ver=<?php echo rand(0,9999);?>" type="text/javascript"></script>


贊 (

發(fā)表評(píng)論