Окно: событие load
Базовая линия Широко доступно
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна во всех браузерах с июля 2015 года.
Событие load срабатывает, когда вся страница загружена, включая все зависимые ресурсы, такие как таблицы стилей, скрипты, фреймы iframes и изображения, за исключением тех, которые загружаются лениво ленивой загрузкой. Это в отличие от DOMContentLoaded, который срабатывает сразу после загрузки DOM страницы, без ожидания завершения загрузки ресурсов.
Это событие нельзя отменить и не распространяется.
Примечание: Все события, названные load не будут распространяться на Window, даже если bubbles инициализировано значением true. Чтобы поймать load события на window, это событие должно быть непосредственно отправлено на window.
Примечание: Событие load, которое отправляется при загрузке основного документа, отправляется на window, но имеет две изменённые свойства: target равно document, а path равно undefined. Эти два свойства изменяются из-за совместимости со старыми стандартами.
Синтаксис
Используйте имя события в методах, таких как addEventListener(), или задайте свойство обработчика событий.
addEventListener("load", (event) => {});
onload = (event) => {};
Тип события
Общее Event.
Примеры
Выведите сообщение при полной загрузке страницы:
window.addEventListener("load", (event) => {
console.log("page is fully loaded");
});
То же самое, но с использованием свойства обработчика событий onload:
window.onload = (event) => {
console.log("page is fully loaded");
};
Живой пример
HTML
<div class="controls">
<button id="reload" type="button">Reload</button>
</div>
<div class="event-log">
<label for="eventLog">Event log:</label>
<textarea
readonly
class="event-log-contents"
rows="8"
cols="30"
id="eventLog"></textarea>
</div>
JavaScript
const log = document.querySelector(".event-log-contents");
const reload = document.querySelector("#reload");
reload.addEventListener("click", () => {
log.textContent = "";
setTimeout(() => {
window.location.reload(true);
}, 200);
});
window.addEventListener("load", (event) => {
log.textContent += "load\n";
});
document.addEventListener("readystatechange", (event) => {
log.textContent += `readystate: ${document.readyState}\n`;
});
document.addEventListener("DOMContentLoaded", (event) => {
log.textContent += `DOMContentLoaded\n`;
});
Результат
Спецификации
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
load_event |
1 | 12 | 1 | 4 | 1.3 | 18 | 4 | 10.1 | 1 | 1.0 | 4.4 |
См. также
- Документ readyState API
- Связанные события:
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/Window/load_event