Проверяет понимание порядка загрузки HTML-документа и различий между событиями DOMContentLoaded и window load.
Когда браузер открывает страницу, он проходит несколько этапов: получает HTML, разбирает его в DOM-дерево, загружает внешние ресурсы (CSS, JS, изображения) и только потом полностью отображает страницу. События DOMContentLoaded и load сигнализируют о разных моментах этого процесса.
Это событие срабатывает, когда HTML-документ полностью загружен и разобран, то есть DOM-дерево готово. При этом внешние ресурсы, такие как картинки, стили и фреймы, могут ещё загружаться. Это идеальный момент для подключения обработчиков событий, изменения DOM или инициализации логики, которая не зависит от внешних файлов.
document.addEventListener('DOMContentLoaded', function() {
console.log('DOM готов, можно работать с элементами');
document.getElementById('app').innerHTML = 'Привет';
});Событие load на объекте window срабатывает только после того, как загружены все ресурсы страницы: изображения, стили, скрипты, фреймы. Это нужно, когда вы хотите измерить размеры картинки, получить доступ к данным, которые зависят от полной загрузки, или выполнить действия, требующие всех ресурсов.
window.addEventListener('load', function() {
console.log('Все ресурсы загружены');
const img = document.querySelector('img');
console.log('Размер картинки:', img.naturalWidth, img.naturalHeight);
});<head> и хотите манипулировать DOM, используйте DOMContentLoaded — это быстрее и не блокирует загрузку страницы.load.load, чтобы гарантировать, что страница полностью отобразилась.Выбирайте DOMContentLoaded для работы с DOM и логики, не зависящей от ресурсов, а load — когда нужны все внешние файлы. Это помогает оптимизировать скорость и корректность работы приложения.
Уровень
Рейтинг:
4
Сложность:
2
Навыки
JavaScript
HTML
Ключевые слова
Подпишись на React Developer в телеграм
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию