>  기사  >  웹 프론트엔드  >  부트스트랩이 캐싱 문제를 처리하는 방법

부트스트랩이 캐싱 문제를 처리하는 방법

藏色散人
藏色散人원래의
2020-12-07 09:12:542954검색

부트스트랩이 캐싱 문제를 처리하는 방법: 1. 닫을 때 데이터를 지웁니다. 2. "function remoteUrl(u){...}"와 같은 문을 사용하여 요청된 URL을 수정하고 요청된 URL에 타임스탬프를 추가합니다.

부트스트랩이 캐싱 문제를 처리하는 방법

이 튜토리얼의 운영 환경: Windows 7 시스템, 부트랩 버전 3.3.7, Dell G3 컴퓨터.

Baidu에는 유사한 상황이 많이 있습니다. 해결 방법은 기본적으로 다음 두 가지입니다.

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에서는 첫 번째 방법이 유효하지 않고 두 번째 방법이 해결하기 너무 번거롭습니다.

Baidu에서 특히 IE를 위한 또 다른 솔루션을 찾았습니다.

[OutputCache(NoStore = true, Duration = 0, VaryByParam = "*")]//不加的话,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()
      })
  })

댓글에 해결 방법이 설명되어 있습니다. 방금 원격 URL을 추가했습니다. add 요청된 URL 이후의 시간이므로 하나씩 수정할 필요가 없으며 각 브라우저를 고려할 수 있습니다.

추천: "부트스트랩 비디오 튜토리얼" "css 비디오 튜토리얼"

위 내용은 부트스트랩이 캐싱 문제를 처리하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.