[Chapter 21] Reference: Window.onload()
Author: David Flanagan
Date: Fri Aug 29 11:21:21 1997

#

| Chapter 21 JavaScript Reference |

# Window.onload() Handler

## Name

Window.onload() Handler---executed when a document finishes loading

## Availability

Navigator 2.0, Internet Explorer 3.0

## Synopsis

    <BODY    a definition of the handler
        [ onLoad="JavaScript statements" ]
            ...
    >
    <FRAMESET    another way to define the handler
        [ onLoad="JavaScript statements" ]
           ...
    >
    window.onload=handler-func  defining the handler directly
    window.onload();  an explicit invocation of the handler

## Description

`onload()` is an event handler invoked by the browser when a document or frameset is completely loaded into the browser. The `onload()` handler is defined by the `onLoad` attribute of the `<BODY>` or `<FRAMESET>` HTML tags. The value of this attribute may be any number of JavaScript statements, separated by semicolons.

When the `onload()` event handler is invoked, you can be certain that the document has fully loaded, and therefore that all scripts within the document have executed, all functions within scripts are defined, and all forms and other document elements have been parsed and are available through the Document object.

## Usage

If any of your document's event handlers depend on the document being fully loaded, you should be sure to check that it is loaded before executing those handlers. If the network connection were to stall out after a button appeared in the document, but before the parts of the document that the button relied on were loaded, then when the user clicks the button they will get unintended behavior or an error message. One good way to verify that the document is loaded is to use the `onload()` handler to set a variable, `loaded`, for example, to `true,` and to check the value of this variable before doing anything that depends on the complete document being loaded.

## Bugs

JavaScript is supposed to guarantee that the `onload()` handler for each frame in a window will be invoked before the `onload()` handler for the window itself. Unfortunately, Navigator 2.0 does not always do this. Thus in a framed document, you may need to check that each of your individual frames has fully loaded.

## See Also

"Window", "Window.onunload()"

Window.onfocus() |  | Window.onunload()