首页前端开发其他前端知识Bootstrap对缓存处理的操作和解决措施是什么

Bootstrap对缓存处理的操作和解决措施是什么

时间2024-03-27 04:54:03发布访客分类其他前端知识浏览636
导读:今天就跟大家聊聊有关“Bootstrap对缓存处理的操作和解决措施是什么”的内容,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。 bootstrap处理缓存问题的方...
今天就跟大家聊聊有关“Bootstrap对缓存处理的操作和解决措施是什么”的内容,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

bootstrap处理缓存问题的方法:首先在关闭的时候清除数据;然后修改请求的URL,并在请求的URL上加上时间戳,语句如“function remoteUrl(u){ ...} ”。

本教程操作环境:Windows7系统、bootsrap3.3.7版,Dell G3电脑。

百度了一下,有很多类似的情况,解决办法基本都是如下两种:

1、在关闭的时候清除数据:

$("#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太垃圾了应该退出互联网界。

好了,吐糟完了,来上我的解决办法:直接修改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对缓存处理的操作和解决措施是什么”的文章就介绍到这了,感谢各位的阅读,更多相关Bootstrap对缓存处理的操作和解决措施是什么内容,欢迎关注网络资讯频道,小编将为大家输出更多高质量的实用文章!

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Bootstrap对缓存处理的操作和解决措施是什么
本文地址: https://pptw.com/jishu/653992.html
Bootstrap应用效果在360浏览器不兼容怎么解决 Bootstrap中应用图标不显示怎么回事

游客 回复需填写必要信息