Tôi đã sử dụng javascript trong một thời gian và gần đây đã bắt đầu sử dụng jquery mà tôi sẽ thừa nhận tôi là fan của. <script type='text/javascript' src='../locationOfJquery/jquery.js'></script>
cho phép sử dụng thư viện trong các thẻ tập lệnh trên trang đó. Những gì tôi muốn biết là nếu chỉ bao gồm các thẻ tập lệnh làm chậm thời gian tải trang bất kỳ, ngay cả khi không có mã jquery trên trang, và cũng có thể có bất kỳ nhược điểm lớn nào khác khi sử dụng jqueryCó bất kỳ nhược điểm nào để bao gồm thư viện jquery trên trang của tôi không?
Trả lời
- Đặt thẻ tập lệnh ở cuối trang. Điều này sẽ không làm chậm quá trình xử lý DOM trước khi sự kiện onload cháy.
- Sử dụng phiên bản được rút gọn của jQuery, có kích thước nhỏ như một hình ảnh/biểu tượng nhỏ.
- Nếu khách truy cập truy cập vào nhiều trang trong trang web của bạn, nó cũng sẽ thường được lưu trong bộ nhớ cache sau lần truy cập đầu tiên của họ. Nó cũng có thể đã được lưu trước trong bộ nhớ cache (hoặc được phục vụ từ một máy chủ nội bộ) nếu bạn sử dụng mạng phân phối nội dung (ví dụ: Google). Ấn tượng đầu tiên tốt là rất quan trọng.
Để trả lời thêm câu hỏi nhỏ bạn có:
- Nếu không có mã jQuery trên trang, jQuery vẫn phải được phân tích. Bạn có thể xem máy tính của bạn mất bao lâu để phân tích cú pháp jQuery bằng cách sử dụng công cụ lược tả chẳng hạn như công cụ của Chrome.
- Có các khung làm tối ưu hóa javascript của bạn trên cơ sở mỗi trang, nhưng những công cụ này phải loại bỏ khả năng lưu bộ nhớ cache một tập lệnh so với mức tăng trong phân tích nhanh hơn. Bạn gần như chắc chắn không nên lo lắng về họ. jQuery rất nhẹ so với các khung công tác khác.
số:
Ví dụ trên Chrome khi tải trang web Stackoverflow, yêu cầu thư viện jQuery từ CDN Google, kết quả là:
- 0.027ms tổng thời gian đã tải xuống jQuery (có thể đã lưu trong bộ nhớ cache)
- 35.992ms tổng thời gian dành để đánh giá jQuery và thực hiện bất kỳ DOM mặc định nào/Hoạt động CSS
Tất cả đều tương đối tất nhiên. Tôi đặt cược khi bạn tải trang này, bạn không nhận thấy bất kỳ sự chậm trễ nào vì toàn bộ trang mất khoảng 630ms để tải.
Ok sau đó, không nên lo lắng khi triển khai nó – John
Bạn không nên bao gồm nó nếu bạn không sử dụng.
32k là một mức giá nhỏ để thanh toán, nhưng tốt hơn là không yêu cầu và tải thêm 0k để tải xuống.
Ngoài ra, và quan trọng hơn, bạn có thể gặp phải xung đột với các khung công tác khác nếu bạn đang sử dụng bất kỳ khung công tác nào.
Hiện tại, tôi không quan tâm đến việc tối ưu hóa thời gian tải một trong những trang web lớn hơn của tôi, nhưng chức năng của jQuery chắc chắn là một sự thuận lợi. – John
Nó sẽ không có bất kỳ tác động đáng kể về thời gian tải kể từ khi trình duyệt sẽ lưu trữ nó, và thời gian để chạy nó là rất nhỏ. Tôi đồng ý tốt hơn là không bao gồm nó trên các trang mà nó không được sử dụng, nhưng không đủ để lo lắng trừ khi nó thực sự dễ dàng (ví dụ: khung của bạn đã có khái niệm bao gồm điều kiện). Không đáng để mất ngủ. Nếu bạn có trang tải chậm, đó không phải lỗi của jQuery. –
Nếu bạn đang xem xét sử dụng jQuery, thì tôi sẽ không lo lắng về việc bao gồm nó ngay bây giờ. Việc tối ưu hóa bạn thực hiện bằng cách loại trừ nó là rất nhỏ. – Andrew
Khách hàng sẽ phải tải xuống tập lệnh jQuery (khá nhỏ). Để tối ưu hóa thêm, bạn chỉ có thể sử dụng các phiên bản "Content Delivery Network" được lưu trữ từ Google hoặc Microsoft. Cũng nhớ sử dụng phiên bản được rút gọn để tải xuống nhanh hơn.
This article nêu rõ lý do.
Sử dụng CDN sẽ không thay đổi nhiều thứ. Đó là chủ yếu tốt hơn cho thế giới và máy chủ của bạn hơn là cho một người dùng cá nhân. Nó có thể lưu chúng từ một lần tải xuống, nhưng sau lần đầu tiên một người nào đó truy cập trang của bạn, họ sẽ không phải tải xuống lại jQuery cho dù nó được liên kết với CDN hay máy chủ của bạn. Tôi không nói nó không phải là một điều tốt, nhưng nó sẽ không thay đổi hồ sơ tổng thể của một trang web bằng cách sử dụng jQuery. –
Vâng, tôi đồng ý rằng đó là một tối ưu hóa không đáng kể, nhưng vẫn có thể tiết kiệm được một lượt tải xuống cho hầu hết người dùng (nếu bạn có hàng triệu người dùng mới có nghĩa là 30Kb so với hàng triệu người dùng tiêu thụ băng thông), cộng với giảm độ trễ cho một số khác người dùng cần tải xuống. Tất cả trong tất cả nó là một win win tình hình. Tôi nghĩ rằng nó là giá trị để nhảy trên bandwagon. –
- 1. Có bất kỳ nhược điểm nào để ghép tất cả các tệp JavaScript (bao gồm cả nhà cung cấp)
- 2. Thuộc tính HTML không (X) ... bất kỳ nhược điểm nào?
- 3. Bất kỳ nhược điểm nào khi sử dụng ASP.Net AJAX và JQuery cùng nhau
- 4. Ưu điểm và nhược điểm của thư viện khách hàng của Clojure http
- 5. Có bất kỳ nhược điểm nào khi sử dụng dấu gạch chéo kép trong URL không?
- 6. Bất kỳ thư viện python dhcp nào?
- 7. Bao gồm các thư viện trong jar
- 8. Nhược điểm của việc sử dụng Thư viện tương thích Android trên Honeycomb
- 9. Có bất kỳ nhược điểm nào đối với một ngôn ngữ là nền tảng độc lập không?
- 10. Bao gồm Thư viện Native trong Netbeans
- 11. Có bất kỳ nhược điểm tiềm ẩn nào trong việc sử dụng khung công tác Ruby ngoài Rails không?
- 12. Thư viện Java (hoặc bất kỳ lang nào) để hiển thị các trang web ngoại tuyến?
- 13. Ưu điểm/nhược điểm của khung, thư viện và gói Cocoa là gì?
- 14. Có bất kỳ trình bao bọc Perl hiện có nào cho mã vạch Thư thông minh mới của USPS không?
- 15. Bao gồm thư viện chuẩn C++
- 16. Có bất kỳ khung và thư viện cụ thể nào của Scala đáng xem xét không?
- 17. Django - Các bao gồm URLconf không có bất kỳ mô hình trong đó
- 18. Ưu điểm và nhược điểm của việc bao gồm các tệp PDB với ứng dụng phát hành của bạn
- 19. Có bất kỳ giá trị nào trong việc bao gồm SQLite trong số
- 20. Trên PhantomJS Tôi không thể bao gồm jQuery và không có jQuery Tôi không thể đăng dữ liệu biểu mẫu
- 21. Nhược điểm của CouchDB
- 22. có bất kỳ thư viện C# nào để nhận dạng đối tượng được đặt tên không?
- 23. Tôi có bị điên không? Các demo trên trang 'hiệu ứng' của jQuery không hoạt động trong bất kỳ trình duyệt nào của
- 24. Các manager.urls URLconf bao gồm không có bất kỳ mô hình trong đó
- 25. Bao gồm jQuery, nếu không bao gồm đã
- 26. Làm thế nào để chạy jQuery trực tiếp trên bất kỳ trang nào trong trình duyệt?
- 27. bao gồm thư viện bên ngoài trong Yii
- 28. Ưu và nhược điểm của việc liên kết tĩnh một thư viện là gì?
- 29. Bất kỳ vấn đề nào với thư viện System.Net.PeerToPeer?
- 30. Sử dụng clojure.math.numeric-tower hoặc bất kỳ thư viện nào
Nguồn jQuery được rút gọn là 32kb.Tôi sẽ không bao gồm trừ khi bạn đang thực sự sử dụng nó. jQuery là tuyệt vời, không có nhược điểm! –
Nếu là năm 1999, tôi sẽ nói có. Nhưng trong thời đại ngày nay, nơi mà hầu hết mọi người có tốt hơn dial-up, không ... nó sẽ không ảnh hưởng đến hiệu suất nếu bạn chỉ cần bao gồm các tệp JS khác. – kevin628
Có những nhược điểm đối với jQuery ... đã là một thành viên của SO trong một thời gian, tôi đã nhìn thấy một số sử dụng khá khủng khiếp của jQuery đơn giản chỉ vì nó làm cho mọi thứ rất dễ dàng. Thật dễ dàng để tạo các kịch bản không hiệu quả không cần thiết, đặc biệt nếu bạn học jQuery trước javascript, mà nhiều người mới đang làm. –