2011-09-17 35 views
13

Thỉnh thoảng tôi nghe nói về việc đặt các thẻ HTML <script> sau trong tài liệu HTML thay vì trong phần tử <head>.Vị trí thẻ HTML script?

Một số người, hoặc vì vậy tôi đã nghe, thậm chí ủng hộ việc đặt các tập lệnh của một người như một vài thẻ cuối cùng trước </body>.

Điều này có phải do vấn đề về hiệu suất không? Có lẽ tải lên một kịch bản là một hoạt động IO chặn, xem xét rằng kịch bản kịch bản phụ thuộc được đặt sau các kịch bản khác như vậy:

<script src="jQuery.js"></script> 
<script src="myScriptThatUsesjQuery.js"></script> 

Thậm chí nếu đó là trường hợp, tại sao sẽ đặt các kịch bản của một người ở gần cuối của tài liệu HTML Cứu giúp?

Cảm ơn!

+1

có thể trùng lặp của [Nơi nào là nơi tốt nhất để đặt các thẻ

4

Vâng, <script> nên được bao gồm trước </body> và như bạn nói <script src="jQuery.js"></script> phải được đưa trước <script src="myScriptThatUsesjQuery.js"></script>, vì jQuery.js tải tất cả các chức năng được sử dụng bởi myScriptThatUsesjQuery.js, vì vậy bạn không thể sử dụng một chức năng (ví dụ: $()) trước khi nó được khai báo.

0

Có rất nhiều tệp tập lệnh trong thẻ đầu của bạn làm chậm hiệu suất trang web vì thông số HTTP khuyên các trình duyệt không tải xuống nhiều hơn 2 tệp từ bất kỳ máy chủ nào song song. Vì vậy, nếu bạn có một nửa tá tập tin .js được tải từ thư mục tập lệnh của trang web của bạn, tải các tài nguyên khác trên trang web của bạn (hình ảnh/css vv) sẽ bị chặn trong khi trình duyệt đi qua danh sách 2x2. Nó tạo ra một nút cổ chai, về cơ bản.

Tôi nghĩ rằng một số trình duyệt hiện đại có giải pháp cho vấn đề này, nhưng cho đến khi thế giới bỏ cuộc trên IE6/7, thì có lẽ tốt hơn là nên sai về mặt tối ưu hóa.

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