ie8兼容性問題(三) 緩存問題

ie8兼容性問題(三) 緩存問題

  • 這個問題時在實現頭像上傳功能時發現的。
    頭像上傳功能,在原頁面上點擊頭像時彈出彈框,在彈框中實現新頭像上傳,上傳成功後關閉彈框,刷新原頁面頭像。
    刷新原頁面頭像是這樣的
    function getImg() {
    url = "integralIndexController.do?downloadFile";
    $("#img1").attr("src", url);
    }

    關閉頁面時,調用getImg方法。
    結果chrome中可以正常刷新頁面,ie8中則不刷新。找了好久終於找到了問題。。。

ie8的緩存

  • ie8中,如果請求的地址和參數、參數值均不變化的話,是不會再次進入方法的。而是直接進入success,這樣就不會拿回新的數據,頁面也就不會刷新了。

解決ie8緩存的方法一:

在請求url後再加一個參數,值爲隨機數,這樣的話就保證了ie8請求時每次都是新的url,所以可以有效的解決緩存問題

function getImg() {
url = "integralIndexController.do?downloadFile&rnd=" + Math.random();
$("#img1").attr("src", url);
}

解決ie8緩存的方法二:

與一的原理是一樣的,就是如果不想加隨機數的話,可以加當前日期的毫秒值,這個值是不會重複的。所以也可以有效的解決緩存問題

function getImg() {
var now = new Date();
var millDate = now.getTime();
url = "integralIndexController.do?downloadFile&rnd=" + millDate;
$("#img1").attr("src", url);
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章