Mi rendo conto di essere un po 'in ritardo qui (circa 5 anni), ma penso che ci sia una risposta migliore di quella accettata come segue:
$("#addComment").click(function() {
if(typeof TinyMCE === "undefined") {
$.ajax({
url: "tinymce.js",
dataType: "script",
cache: true,
success: function() {
TinyMCE.init();
}
});
}
});
La getScript()
funzione impedisce effettivamente la memorizzazione nella cache del browser . Se esegui una traccia, vedrai che lo script viene caricato con un URL che include un parametro timestamp:
http://www.yoursite.com/js/tinymce.js?_=1399055841840
Se un utente fa clic #addComment
più volte sul collegamento, tinymce.js
verrà ricaricato da un URL con timestamp diverso. Ciò vanifica lo scopo della memorizzazione nella cache del browser.
===
In alternativa, nella getScript()
documentazione è presente un codice di esempio che dimostra come abilitare la memorizzazione nella cache creando una cachedScript()
funzione personalizzata come segue:
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 );
});
===
In alternativa, se si desidera disabilitare la memorizzazione nella cache a livello globale, è possibile farlo nel modo ajaxSetup()
seguente:
$.ajaxSetup({
cache: true
});