После того как весь документ проанализирован, все сценарии исполнены и все дополнительное содержимое документа (например, изображения) загружено, броузер инициирует событие onload и исполняет JavaScript_код, зарегистриро_ ванный как обработчик события onload объекта Window. Регистрация обработчика события onload может быть выполнена установкой атрибута onload тега <body>. Но для отдельных модулей JavaScript_кода существует также возможность заре_ гистрировать собственные обработчики события onload (с помощью приемов, описываемых в главе 17). Если было зарегистрировано более одного обработчика события onload, броузер вызовет их все, но при этом не гарантируется, что вызы_ ваться они будут в том же порядке, в котором были зарегистрированы.
К моменту вызова обработчика события onload документ должен быть уже пол_ ностью загружен и проанализирован, а потому допускать манипулирование лю_ быми элементами документа из JavaScript_сценария. По этой причине Java_ Script_модули, модифицирующие содержимое документа, обычно содержат функцию, которая выполняет модификацию, и программный код, который ре_ гистрирует обработчик события onload. Это гарантирует вызов функции только после того, как документ будет полностью загружен.
Поскольку обработчики события onload вызываются уже после того, как завер_ шится анализ документа, они не должны вызывать метод document.write(). Лю_ бой такой вызов вместо того, чтобы добавить новое содержимое в конец сущест_ вующего документа, просто уничтожит текущий документ и начнет заполнение нового еще до того, как пользователь получит шанс просмотреть его.