Tập lệnh không được sử dụng thực tế cho đến khi HTML tải xong - tập lệnh không thể thay đổi DOM cho đến khi HTML được tải. document.ready
chờ DOM tải. Vì vậy, không có lý do gì nó giữ những thứ quan trọng như bảng định kiểu.
Đặt các tập lệnh ở dưới cùng của trang (trước </body>
thẻ) để đặt hàng để đưa HTML và CSS của bạn đến người dùng nhanh nhất có thể. Trình duyệt sẽ có thể hiển thị trang nhanh hơn nhiều và sau đó các tập lệnh có thể được tải, thay vì để lại một trang trống để người dùng nhìn chằm chằm trong khi họ chờ tập lệnh tải xuống.
Mặc dù trình duyệt đang hiển thị trang liên tục, nhưng nếu nó chạm vào thẻ script (tức là tệp Javascript bên ngoài) thì mọi thứ đều dừng lại . Các tập lệnh có quyền - trong khi tập lệnh đang tải xuống, trình duyệt sẽ không bắt đầu bất kỳ tải xuống nào khác. tức là Hình ảnh và bảng định kiểu và mọi tải xuống song song khác sẽ bị chặn, ngay cả trên các tên máy chủ khác nhau.
Nhược điểm của việc đặt tập lệnh ở cuối trang là vì trang sẽ hiển thị trước khi tập lệnh được khởi chạy, đặc biệt là các trình nhấp nhanh sẽ có thể tương tác với trang web của bạn trước khi Javascript sẵn sàng.
Lưu ý: Điều ngược lại là đúng đối với Biểu định kiểu - Biểu định kiểu gần cuối trang kết xuất khối liên tục cho đến khi tất cả các bảng định kiểu đã được tải xuống và di chuyển chúng vào tài liệu HEAD
giúp loại bỏ sự cố.
Có một mẹo gọn gàng để tải javascript mà không khiến người dùng phải chờ đợi, bạn có thể tạo một <script/>
phần tử bằng createElement()
phương thức DOM và thêm nó vào trang ngay trước </body>
thẻ đóng :
var oScript = document.createElement("script");
oScript.src = "/path/to/my.js";
document.body.appendChild(oScript);
Trình duyệt không bắt đầu tải xuống tập lệnh js cho đến khi <script/>
phần tử mới thực sự được thêm vào trang. Khi quá trình tải xuống hoàn tất, trình duyệt sẽ diễn giải mã Javascript có trong.