--- title: load slug: Web/API/Window/load_event tags: - load translation_of: Web/API/Window/load_event original_slug: Web/Events/load ---
{{APIRef}}
当整个页面及所有依赖资源如样式表和图片都已完成加载时,将触发load事件。
它与{{domxref("Document/DOMContentLoaded_event", "DOMContentLoaded")}}不同,后者只要页面DOM加载完成就触发,无需等待依赖资源的加载。
| 是否冒泡 | 否 |
|---|---|
| 能否取消 | 否 |
| 接口 | {{domxref("Event")}} |
| Event handler property | {{domxref("GlobalEventHandlers/onload", "onload")}} |
当页面及资源完全加载后在控制台打印一段信息:
window.addEventListener('load', (event) => {
console.log('page is fully loaded');
});
也可以使用onload实现:
window.onload = (event) => {
console.log('page is fully loaded');
};
<div class="controls"> <button id="reload" type="button">Reload</button> </div> <div class="event-log"> <label>Event log:</label> <textarea readonly class="event-log-contents" rows="8" cols="30"></textarea> </div>
body {
display: grid;
grid-template-areas: "control log";
}
.controls {
grid-area: control;
display: flex;
align-items: center;
justify-content: center;
}
.event-log {
grid-area: log;
}
.event-log-contents {
resize: none;
}
label, button {
display: block;
}
#reload {
height: 2rem;
}
const log = document.querySelector('.event-log-contents');
const reload = document.querySelector('#reload');
reload.addEventListener('click', () => {
log.textContent ='';
window.setTimeout(() => {
window.location.reload(true);
}, 200);
});
window.addEventListener('load', (event) => {
log.textContent = log.textContent + 'load\n';
});
document.addEventListener('readystatechange', (event) => {
log.textContent = log.textContent + `readystate: ${document.readyState}\n`;
});
document.addEventListener('DOMContentLoaded', (event) => {
log.textContent = log.textContent + `DOMContentLoaded\n`;
});
{{ EmbedLiveSample('Live_example', '100%', '160px') }}
| Specification | Status | Comment |
|---|---|---|
| {{SpecName('UI Events', '#event-type-load', 'load')}} | {{Spec2('UI Events')}} | |
| {{SpecName('HTML WHATWG', '#delay-the-load-event', 'load event')}} | {{Spec2('HTML WHATWG')}} | 此链接指向加载文档结束时执行步骤中的部分。“load”事件也会在许多元素上触发。 请注意,规范中有很多地方涉及到可以"延迟加载事件"的内容。 |
{{Compat("api.Window.load_event")}}