Tôi nhận ra mình hơi muộn ở đây, (5 năm hoặc lâu hơn), nhưng tôi nghĩ có một câu trả lời tốt hơn câu trả lời như sau:
$("#addComment").click(function() {
if(typeof TinyMCE === "undefined") {
$.ajax({
url: "tinymce.js",
dataType: "script",
cache: true,
success: function() {
TinyMCE.init();
}
});
}
});
Chức năng getScript()
thực sự ngăn bộ nhớ đệm của trình duyệt. Nếu bạn chạy một dấu vết bạn sẽ thấy những kịch bản được nạp với một URL bao gồm một tham số timestamp:
http://www.yoursite.com/js/tinymce.js?_=1399055841840
Nếu người dùng nhấp vào #addComment
liên kết nhiều lần, tinymce.js
sẽ được tái nạp từ một URL khác nhau timestampped. Điều này đánh bại mục đích của bộ nhớ đệm trình duyệt.
===
Ngoài ra, trong tài liệu getScript()
có một mã số mẫu mà chứng minh làm thế nào để cho phép bộ nhớ đệm bằng cách tạo ra một cachedScript()
chức năng tùy chỉnh như sau:
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);
});
===
Hoặc nếu bạn muốn tắt bộ nhớ đệm trên toàn cầu, bạn có thể làm như vậy bằng cách sử dụng ajaxSetup()
như sau:
$.ajaxSetup({
cache: true
});
câu hỏi của tôi nữa. –
Đây là một nhánh tuyệt vời của máy nén TinyMCE, bổ sung thêm tải không đồng bộ TinyMCE thông qua plugin jQuery.tinyMCE, và bao gồm Gzip, nối và rút gọn: https: //github.com/bobbravo2/tinymce_compressor/blob/master/tiny_mce_gzip. php –