2009-07-18 27 views
44

Rất tệ khi có nhiều số $(document).ready(function() {}); trên trang của bạn? Tôi có một trang web nơi tôi tải những thứ khác nhau vào những thời điểm khác nhau. Tôi bắn ra những chức năng postback một phần bên trong $(document).ready() nhưng tôi có khoảng 4 hoặc 5 trên trang cùng một lúc. Đây có phải là một thực hành không tốt? Cụ thể, liệu nó có gây ra bất kỳ vấn đề hiệu suất nào không?

Trả lời

32

Câu trả lời này không còn phù hợp nữa. Vui lòng xem các bài đăng khác bên dưới để biết thêm các tác động jQuery $ .ready() mới nhất. Bài đăng này đã quá 3 tuổi.

Xem: http://jsperf.com/docready/11

Câu trả lời là không! Bạn có thể xả rác chúng nhiều như bạn muốn (lưu ý các loại rác từ ). Họ chỉ trở thành một hàng đợi các sự kiện được gọi khi sự kiện sẵn sàng được kích hoạt.

http://www.learningjquery.com/2006/09/multiple-document-ready

1

Nếu đó là trên cùng một trang cá nhân tôi sẽ đặt chúng tất cả trong cùng một vị trí để bạn không thể được đánh bắt ra bằng cách quên đi một trong những điều xảy ra trên tải.

Tôi nghi ngờ rằng các tác động hiệu suất là đáng kể. Bạn đã thử điểm chuẩn trang với tất cả chúng lại với nhau và tách biệt nhau chưa?

3

Không sao cho bạn có bao nhiêu tùy thích. Một cách ngắn gọn hơn, thanh lịch hơn để thực hiện việc này là $(function(){}).

11

Câu trả lời là thực sự "Có nó ngăn cản hiệu suất":

http://jsperf.com/docready/3

+4

Bạn đang rút ra kết luận dựa trên ý kiến ​​của bạn. Câu trả lời là có một hit hiệu suất (tất cả mọi thứ có một hit hiệu suất) và hit đó nên được cân nhắc chống lại những lợi ích của nó. Ngay cả với IE8 nó sẽ mất 20K $. Đã gọi để làm chậm trang của tôi xuống 1 giây. 50-100 mà tôi sử dụng sẽ dẫn đến tăng khoảng 0,0025 giây trên IE hoặc 0,000125 giây trên Chrome. – umassthrower

Các vấn đề liên quan