溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

bootstrap處理緩存問題的方法

發(fā)布時間:2020-12-07 10:53:19 來源:億速云 閱讀:170 作者:小新 欄目:web開發(fā)

小編給大家分享一下bootstrap處理緩存問題的方法,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

bootstrap處理緩存問題的方法:首先在關閉的時候清除數(shù)據(jù);然后修改請求的URL,并在請求的URL上加上時間戳,語句如“function remoteUrl(u){...}”。

百度了一下,有很多類似的情況,解決辦法基本都是如下兩種:

1、在關閉的時候清除數(shù)據(jù):

$("#myModal").on("hidden.bs.modal", function () {
$(this).removeData("bs.modal");
});

2、修改請求的URL,在請求的URL上加上時間戳。

function remoteUrl(u){
u += '&t=' + Math.random(1000)
    $.get(u, '', function(data){
        $('#remoteModal .modal-body').html(data)
    })
    $('#remoteModal').modal({show:true,backdrop:false})
}

上邊的兩個解決辦法確實有效,但在IE中,第1種方法無效,第2種方法解決起來太繁瑣。

我又百度到了另一種解決辦法,專門針對IE的:

[OutputCache(NoStore = true, Duration = 0, VaryByParam = "*")]//不加的話,IE緩存會搗亂

該辦法是要在服務器端給每個action加上,這樣的話,這需要加多少action,那位作者居然嫌棄IE太垃圾了應該退出互聯(lián)網界。

好了,吐糟完了,來上我的解決辦法:直接修改bootstrap.js文件

位置在大約在1068行的位置,如下代碼:

  $(document).on('click.bs.modal.data-api', '[data-toggle="modal"]', function (e) {
    var $this   = $(this)
    var href    = $this.attr('href')
    var $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) //strip for ie7
    var remoteUrl = !/#/.test(href) && href
    if (remoteUrl == undefined) {
        remoteUrl = "";
    }
    if (remoteUrl.indexOf("?") > -1) {
        remoteUrl += "&" + (new Date()).valueOf()
    }
    else {
        remoteUrl += "?" + (new Date()).valueOf()
    }
    //var option  = $target.data('modal') ? 'toggle' : $.extend({ remote: !/#/.test(href) && href }, $target.data(), $this.data())
    //上邊的是原代碼,增加了remoteUrl來解決IE下緩存的問題
    var option = $target.data('modal') ? 'toggle' : $.extend({ remote: remoteUrl }, $target.data(), $this.data())
 
    e.preventDefault()
 
    $target
      .modal(option, this)
      .one('hide', function () {
        $this.is(':visible') && $this.focus()
      })
  })

注釋已經說明了解決辦法,我只是增加了remoteUrl,在請求的url后加上時間,這樣就不用一個一個的修改,也能兼顧各個瀏覽器了。

以上是“bootstrap處理緩存問題的方法”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。

AI