나는 여기에 조금 늦었다는 것을 알고 있지만 (5 년 정도) 다음과 같이 받아 들일 수있는 것보다 더 나은 대답이 있다고 생각합니다.
$("#addComment").click(function() {
if(typeof TinyMCE === "undefined") {
$.ajax({
url: "tinymce.js",
dataType: "script",
cache: true,
success: function() {
TinyMCE.init();
}
});
}
});
이 getScript()
기능은 실제로 브라우저 캐싱을 방지합니다 . 추적을 실행하면 스크립트에 시간 소인 매개 변수가 포함 된 URL이로드 된 것을 볼 수 있습니다.
http://www.yoursite.com/js/tinymce.js?_=1399055841840
사용자가 #addComment
링크를 여러 번 클릭하면 tinymce.js
다르게 타임 스탬프가 지정된 URL에서 다시로드됩니다. 이것은 브라우저 캐싱의 목적을 상실합니다.
===
또는 getScript()
문서에는 cachedScript()
다음과 같이 사용자 정의 함수를 작성하여 캐싱을 사용하는 방법을 보여주는 샘플 코드가 있습니다.
jQuery.cachedScript = function( url, options ) {
// Allow user to set any option except for dataType, cache, and url
options = $.extend( options || {}, {
dataType: "script",
cache: true,
url: url
});
// Use $.ajax() since it is more flexible than $.getScript
// Return the jqXHR object so we can chain callbacks
return jQuery.ajax( options );
};
// Usage
$.cachedScript( "ajax/test.js" ).done(function( script, textStatus ) {
console.log( textStatus );
});
===
또는 전체적으로 캐싱을 사용하지 않으려면 ajaxSetup()
다음과 같이 사용하십시오.
$.ajaxSetup({
cache: true
});