溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎么處理bootstrap的緩存問(wèn)題

發(fā)布時(shí)間:2020-07-21 13:58:17 來(lái)源:億速云 閱讀:422 作者:Leah 欄目:web開(kāi)發(fā)

今天就跟大家聊聊有關(guān)怎么處理bootstrap的緩存問(wèn)題,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

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

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

2、修改請(qǐng)求的URL,在請(qǐng)求的URL上加上時(shí)間戳。

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

  上邊的兩個(gè)解決辦法確實(shí)有效,但在IE中,第1種方法無(wú)效,第2種方法解決起來(lái)太繁瑣。

  我又百度到了另一種解決辦法,專門(mén)針對(duì)IE的:

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

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

  好了,吐糟完了,來(lái)上我的解決辦法:直接修改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來(lái)解決IE下緩存的問(wèn)題
    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()
      })
  })

注釋已經(jīng)說(shuō)明了解決辦法,我只是增加了remoteUrl,在請(qǐng)求的url后加上時(shí)間,這樣就不用一個(gè)一個(gè)的修改,也能兼顧各個(gè)瀏覽器了。


看完上述內(nèi)容,你們對(duì)怎么處理bootstrap的緩存問(wèn)題有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問(wèn)一下細(xì)節(jié)

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

AI