--- 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”事件也会在许多元素上触发。 请注意,规范中有很多地方涉及到可以"延迟加载事件"的内容。 |
此页面上的兼容性表是根据结构化数据生成的。 如果您想贡献数据,请查看 https://github.com/mdn/browser-compat-data 并向我们发送请求请求。
{{Compat("api.Window.load_event")}}