做項目的時候遇到一個問題: 上傳文件以後,相同的地址,第一次載入沒有問題,當你操作次數過快,上傳次數過多時,後面的圖片會出現載入不到的情況,瀏覽器載入依舊是上一個,或者更早之前的圖片。 此問題出現原因: 這涉及到瀏覽器緩存規則的問題。當你第二次或多次請求同一地址時,瀏覽器會加一個If-Modifie ...
做項目的時候遇到一個問題:
上傳文件以後,相同的地址,第一次載入沒有問題,當你操作次數過快,上傳次數過多時,後面的圖片會出現載入不到的情況,瀏覽器載入依舊是上一個,或者更早之前的圖片。
此問題出現原因:
這涉及到瀏覽器緩存規則的問題。當你第二次或多次請求同一地址時,瀏覽器會加一個If-Modified-Since參數,記錄上次請求的文件的最後修改時間(只精確到秒),web伺服器收到請求後發現有頭If-Modified-Since 則與被請求資源的當前最後修改時間進行對比,
如果時間一致,那麼返回HTTP狀態碼304(不返迴文件內容),客戶端接到之後,就直接把本地緩存文件顯示到瀏覽器中。如果時間不一致,就返回HTTP狀態碼200和新的文件內容,客戶端接到之後,會丟棄舊文件,把新文件緩存起來,並顯示到瀏覽器中。這時候如
果你是操作過快的話,就會出現沒有載入第二次的上傳文件的問題。
解決方法:
在請求地址後加個隨機數的參數 例如:“http://offlintab.firefoxchina.cn/static/img/search/baidu_web.png?r=”+Math.Random();
次方法同樣適用與iframe等..