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


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


<div class="controls">
  <button id="reload" type="button">Reload</button>

<div class="event-log">
  <label>Event log:</label>
  <textarea readonly class="event-log-contents" rows="8" cols="30"></textarea>


const log = document.querySelector('.event-log-contents');
const reload = document.querySelector('#reload');

reload.addEventListener('click', () => {
  log.textContent ='';
  window.setTimeout(() => {
  }, 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`;



Specification Status Comment
UI Events
The definition of 'load' in that specification.
Working Draft
HTML Living Standard
The definition of 'load event' in that specification.
Living Standard This links to the section in the steps that are carried out at the end of loading a document. 'load' events are fired at many elements too. And note there are many places in the specification that refer to things that can "delays the load event".

Browser compatibility

BCD tables only load in the browser

See also