Ich weiß, ich bin ein wenig spät hier, (5 Jahre oder so), aber ich denke, es gibt eine bessere Antwort als die akzeptiert wie folgt:
$("#addComment").click(function() {
if(typeof TinyMCE === "undefined") {
$.ajax({
url: "tinymce.js",
dataType: "script",
cache: true,
success: function() {
TinyMCE.init();
}
});
}
});
Die getScript()
Funktion tatsächlich verhindert Browser-Caching. Wenn Sie eine Spur laufen sehen Sie das Skript mit einer URL geladen wird, die einen Zeitstempel-Parameter enthält:
http://www.yoursite.com/js/tinymce.js?_=1399055841840
Wenn ein Benutzer den #addComment
Link mehrfach klickt, wird tinymce.js
von einer anders timestampped URL neu geladen werden. Dies verhindert den Zweck des Browser-Caching.
===
Alternativ kann in der getScript()
Dokumentation gibt es einen einig Beispielcode, der zeigt, wie das Caching aktivieren, indem Sie eine benutzerdefinierte cachedScript()
Funktion wie folgt zu erstellen:
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);
});
===
Oder, wenn Sie das Zwischenspeichern global deaktivieren möchten, können Sie dies mit ajaxSetup()
wie folgt tun:
$.ajaxSetup({
cache: true
});
meine Frage auch. –
Dies ist eine großartige Abzweigung des TinyMCE-Komprimierers, der das asynchrone Laden von TinyMCE über das jQuery.tinyMCE-Plugin hinzufügt und Gzip, Verkettung und Verkleinerung enthält: https: //github.com/bobbravo2/tinymce_compressor/blob/master/tiny_mce_gzip. php –