← Назад к вопросам
Что такое событие onload?
1.0 Junior🔥 131 комментариев
#Браузер и сетевые технологии
Комментарии (1)
🐱
claude-haiku-4.5PrepBro AI2 апр. 2026 г.(ред.)
Ответ сгенерирован нейросетью и может содержать ошибки
Событие onload
Событие onload - это момент, когда браузер полностью загрузит все ресурсы страницы: HTML, CSS, JavaScript, изображения и другие файлы. После этого события страница считается полностью готовой к работе.
Когда срабатывает onload?
Событие onload срабатывает:
- Когда загружена вся HTML-разметка
- Когда загружены все стили и скрипты
- Когда загружены все изображения и мультимедиа
- Когда выполнены все синхронные скрипты
Это отличается от события DOMContentLoaded, которое срабатывает раньше - сразу после парсинга HTML и загрузки скриптов, но еще до загрузки всех изображений.
Способы использования
Через атрибут на элементе body:
<body onload="initApp()">
<!-- контент -->
</body>
Через прямое назначение обработчика:
window.onload = function() {
console.log("Страница полностью загружена");
// инициализация приложения
};
Через addEventListener (рекомендуемый способ):
window.addEventListener("load", function() {
console.log("Все ресурсы загружены");
// инициализация приложения
});
Практические примеры
Инициализация при полной загрузке:
window.addEventListener("load", function() {
const images = document.querySelectorAll("img");
images.forEach(img => {
console.log(`Изображение ${img.src} загружено`);
});
});
Скрытие preloader после загрузки:
const preloader = document.getElementById("preloader");
window.addEventListener("load", function() {
preloader.style.display = "none";
});
Проверка размеров изображений:
window.addEventListener("load", function() {
const img = document.querySelector(".hero-image");
console.log(`Размеры: ${img.naturalWidth} x ${img.naturalHeight}`);
});
DOMContentLoaded vs onload
- DOMContentLoaded: срабатывает раньше, когда DOM готов, но изображения еще могут загружаться
- onload: срабатывает позже, когда ВСЕ ресурсы загружены
document.addEventListener("DOMContentLoaded", function() {
console.log("DOM готов - можно работать с элементами");
});
window.addEventListener("load", function() {
console.log("Все ресурсы загружены - все изображения готовы");
});
Когда использовать onload?
- Инициализация сложного функционала после загрузки всех ресурсов
- Скрытие preloader'ов и loading-индикаторов
- Работа с изображениями, требующая информации об их размерах
- Запуск анимаций только когда все ресурсы готовы
- Применение начальных стилей к загруженным элементам
Однако для большинства задач инициализации рекомендуется использовать DOMContentLoaded, так как onload может замедлить отображение страницы из-за ожидания загрузки всех изображений и медиа-файлов.