上傳功能是工作中經常會遇到的問題,應該作為開發標配的技能每個人都會。
我選用的是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瀏覽器防止緩存,使每次都發起請求。
<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>
發表評論