Sự khác biệt giữa sự kiện tải trang document load event và sự kiện DOMContentLoaded event là gì?
Sự khác biệt giữa hai sự kiện document load và DOMContentLoaded trong JavaScript liên quan đến thời điểm khi trình duyệt tải và phân tích nội dung trang.
1. DOMContentLoaded Event
Mô tả: Sự kiện này được kích hoạt khi toàn bộ DOM của trang đã được tải và phân tích cú pháp, nhưng không cần chờ tài nguyên ngoài (external resources) như ảnh, video, CSS hay JavaScript tải xong.
Thời điểm kích hoạt: Ngay sau khi cấu trúc HTML đã được tải đầy đủ và phân tích cú pháp xong. Điều này giúp các nhà phát triển có thể thao tác với DOM ngay khi nó sẵn sàng mà không cần đợi các tài nguyên khác.
Sử dụng: Nếu bạn muốn thực thi JavaScript ngay khi nội dung của trang đã được phân tích cú pháp, bạn nên sử dụng sự kiện này.
Ví dụ:
document.addEventListener('DOMContentLoaded', function() {
console.log('DOM content loaded and parsed');
});
Thời điểm kích hoạt: Xảy ra sớm hơn load, vì không cần đợi các tài nguyên ngoài được tải xong.
2. load Event
Mô tả: Sự kiện này được kích hoạt khi toàn bộ trang đã được tải xong, bao gồm cả tất cả tài nguyên ngoài như hình ảnh, video, CSS, JavaScript.
Thời điểm kích hoạt: Chỉ khi tất cả mọi thứ trên trang đã được tải hoàn toàn, bao gồm cả các tập tin lớn như hình ảnh và video. Điều này xảy ra sau sự kiện DOMContentLoaded.
Sử dụng: Thích hợp khi bạn muốn thực hiện hành động chỉ khi tất cả các tài nguyên của trang đã sẵn sàng, ví dụ như muốn đảm bảo rằng tất cả hình ảnh và video đã được tải trước khi thực hiện tác vụ nào đó.
This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.
Strictly Necessary Cookies
Strictly Necessary Cookie should be enabled at all times so that we can save your preferences for cookie settings.
If you disable this cookie, we will not be able to save your preferences. This means that every time you visit this website you will need to enable or disable cookies again.