Tôi đang tìm cách tải không đồng bộ các loại tệp javascript sau đây: tệp js "lõi" (hmm, hãy gọi nó, oh tôi không biết , "jquery!" haha), x số tệp js phụ thuộc vào tệp "lõi" js đang được tải và số tệp js không liên quan khác. Tôi có một vài ý tưởng về cách để đi về nó, nhưng không chắc chắn cách tốt nhất là gì. Tôi muốn tránh tải tập lệnh trong nội dung tài liệu.tải tệp js và các tệp js phụ thuộc khác một cách không đồng bộ
Vì vậy, ví dụ, tôi muốn 4 file javascript sau để tải không đồng bộ, phù hợp tên:
/js/my-contact-page-js-functions.js // unrelated/independent script
/js/jquery-1.3.2.min.js // the "core" script
/js/jquery.color.min.js // dependent on jquery being loaded
http://thirdparty.com/js/third-party-tracking-script.js // another unrelated/independent script
Nhưng điều này sẽ không làm việc bởi vì nó không được bảo đảm rằng jQuery được nạp trước các plugin màu ...
(function() {
var a=[
'/js/my-contact-page-functions.js',
'/js/jquery-1.4.2.min.js', '/js/jquery.color.js',
'http://cdn.thirdparty.com/third-party-tracking-script.js',
],
d=document,
h=d.getElementsByTagName('head')[0],
s,
i,
l=a.length;
for(i=0;i<l;i++){
s=d.createElement('script');
s.type='text/javascript';
s.async=true;
s.src=a[i];
h.appendChild(s);
}
})();
Bạn có thể tải jquery và plugin màu một cách không đồng bộ không? (Vì plugin màu yêu cầu jQuery tải trước.)
Phương pháp đầu tiên tôi đang xem xét là chỉ kết hợp tập lệnh plugin màu với nguồn jQuery vào một tệp.
Sau đó, một ý tưởng tôi đã được tải plugin màu như vậy:
$(window).ready(function() {
$.getScript("/js/jquery.color.js");
});
Bất cứ ai có bất cứ suy nghĩ về cách bạn muốn đi về điều này? Cảm ơn!
LAB dường như không còn được duy trì, vì vậy tôi đã thay đổi câu trả lời được chấp nhận cho bạn, vì bạn đã đề cập đến RequireJS. (Có lẽ là một sự lựa chọn tốt hơn ngày nay!) Hy vọng rằng đây là điều "đúng" để làm cho những câu hỏi cũ ở đây trên SO. – taber