Soy consciente de que estoy un poco tarde aquí, (5 años más o menos), pero creo que hay una respuesta mejor que la aceptada uno de la siguiente manera:
$("#addComment").click(function() {
if(typeof TinyMCE === "undefined") {
$.ajax({
url: "tinymce.js",
dataType: "script",
cache: true,
success: function() {
TinyMCE.init();
}
});
}
});
La función getScript()
realidad impide el almacenamiento en caché del navegador. Si se ejecuta un seguimiento verá la secuencia de comandos se carga con una dirección URL que incluye un parámetro de marca de tiempo:
http://www.yoursite.com/js/tinymce.js?_=1399055841840
Si un usuario hace clic en los #addComment
enlace varias veces, tinymce.js
se volverá a cargarse desde una URL diferente timestampped. Esto frustra el propósito del almacenamiento en caché del navegador.
===
Por otra parte, en la documentación getScript()
hay un código de ejemplo que muestra un poco de cómo habilitar el almacenamiento en caché mediante la creación de una función personalizada cachedScript()
de la siguiente manera:
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);
});
===
O, si desea deshabilitar el almacenamiento en caché globalmente, puede hacerlo usando ajaxSetup()
de la siguiente manera:
$.ajaxSetup({
cache: true
});
mi pregunta también. –
Esta es una gran bifurcación del compresor TinyMCE, que agrega carga asincrónica de TinyMCE a través del complemento jQuery.tinyMCE e incluye Gzip, concatenación y minificación: https: //github.com/bobbravo2/tinymce_compressor/blob/master/tiny_mce_gzip. php –