這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)碛嘘P(guān)bootstrap中怎么處理緩存問題,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
成都創(chuàng)新互聯(lián)公司2013年開創(chuàng)至今,先為文安等服務(wù)建站,文安等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為文安企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。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種方法無效,第2種方法解決起來太繁瑣。
我又百度到了另一種解決辦法,專門針對(duì)IE的:
[OutputCache(NoStore = true, Duration = 0, VaryByParam = "*")]//不加的話,IE緩存會(huì)搗亂
該辦法是要在服務(wù)器端給每個(gè)action加上,這樣的話,這需要加多少action,那位作者居然嫌棄IE太垃圾了應(yīng)該退出互聯(lián)網(wǎng)界。
好了,吐糟完了,來上我的解決辦法:直接修改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() }) })
注釋已經(jīng)說明了解決辦法,我只是增加了remoteUrl,在請(qǐng)求的url后加上時(shí)間,這樣就不用一個(gè)一個(gè)的修改,也能兼顧各個(gè)瀏覽器了。
上述就是小編為大家分享的bootstrap中怎么處理緩存問題了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。