mi rendo conto che sono un po 'in ritardo qui, (5 anni o giù di lì), 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 funzione getScript()
realtà impedisce il caching del browser. Se si esegue una traccia si vedrà lo script è caricato con un URL che include un parametro timestamp:
http://www.yoursite.com/js/tinymce.js?_=1399055841840
Se un utente fa clic più volte #addComment
link, tinymce.js
saranno ricaricati da un URL diverso timestampped. Ciò vanifica lo scopo della memorizzazione nella cache del browser.
===
In alternativa, nella documentazione getScript()
c'è un codice di qualche esempio che illustra come attivare la memorizzazione nella cache con la creazione di una funzione personalizzata cachedScript()
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);
});
===
Oppure, se si desidera disattivare globalmente la cache, è possibile farlo utilizzando ajaxSetup()
come segue:
$.ajaxSetup({
cache: true
});
anche la mia domanda. –
Questo è un ottimo fork del compressore TinyMCE, che aggiunge il caricamento asincrono di TinyMCE tramite il plugin jQuery.tinyMCE e include Gzip, concatenazione e minification: https: //github.com/bobbravo2/tinymce_compressor/blob/master/tiny_mce_gzip. php –