Window: load event
The load
event is fired when the whole page has loaded, including all dependent resources such as stylesheets and images. This is in contrast to DOMContentLoaded
, which is fired as soon as the page DOM has been loaded, without waiting for resources to finish loading.
Bubbles | No |
---|---|
Cancelable | No |
Interface | Event |
Event handler property | onload |
Examples
Log a message when the page is fully loaded:
window.addEventListener('load', (event) => {
console.log('page is fully loaded');
});
The same, but using the onload
event handler property:
window.onload = (event) => {
console.log('page is fully loaded');
};
Live example
HTML
<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>
JS
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`;
});
Result
Specifications
Specification |
---|
UI Events # event-type-load |
HTML Standard # delay-the-load-event |
Browser compatibility
BCD tables only load in the browser
See also
- Related events:
DOMContentLoaded
,readystatechange
,beforeunload
,unload