Commencez le test en vous rendant sur la page suivante : 
    Attribut HTML onload 
    sur l'élément BODY
Le module Évènements
 du DOM 
    niveau 2 du W3C 
    (DOM2 Events) définit ainsi l’évènement 
    load :
L’événement load survient quand l’implémentation DOM achève le chargement de tout le contenu d’un document, tous les cadres dans un élément FRAMESET ou OBJECT.
Dans le même temps, l’évènement unload quant à lui est clairement défini comme étant utilisable sur l’élément BODY. Bref, assez flou tout ça…
Le module Évènements
 du DOM niveau 3 
    (DOM3 Events) est beaucoup plus clair :
    The DOM Implementation finishes loading the resource (such as the 
    document) and any dependent resources (such as images, style sheets, or scripts). 
    Dependent resources that fail to load will not prevent this event from firing if the 
    resource that loaded them is still accessible via the DOM. If this 
    event type is dispatched, implementations are required to dispatch this event at least 
    on the Document node.
    
    
    Il fournit même la liste précise des éléments HTML sur lesquels peut être enregistré l’évènement load : 
    
    
.HTMLDocument, HTMLBodyElement, HTMLFrameSetElement, 
    HTMLObjectElement, HTMLLinkElement, HTMLMetaElement, 
    HTMLScriptElement, HTMLFrameElement, HTMLIFrameElement, 
    HTMLImageElement
HTMLBodyElement 
        (quelque soit le mécanisme)currentTarget 
        et target (ou leurs équivalents dans l’API microsoftienne pour MSIE) 
        référencent l’objet HTMLBodyElementHTMLDocument 
        (quelque soit le mécanisme)currentTarget 
        et target (ou leurs équivalents dans l’API 
        microsoftienne pour MSIE) référencent l’objet HTMLDocumentWindow via l’attribut 
        HTML ou JS 
        onloadcurrentTarget 
        et target (ou leurs équivalents dans l’API 
        microsoftienne pour MSIE) référencent respectivement l’objet Window 
        et l’objet HTMLDocument (en effet, ce n’est pas la fenêtre qui est 
        chargée mais le document). L’enregistrement sur l’objet Window 
        de l’évènement load est ici toléré pour des raisons de compatibilité.Window via 
        l’API du 
        W3CWindow ne fait pas partie de la liste donnée dans le module 
        Évènementsdu DOM niveau 3 (DOM3 Events)
Le jeu de test ne couvre que le support de l’évènement load sur l’élément 
    BODY et sur les objets HTMLDocument et Window.
| Navigateurs  et versions  | 
                body | document | window | |||||
|---|---|---|---|---|---|---|---|---|
| attr. html | attr. js | DOM | attr. js | DOM | attr. js | DOM | ||
| Mozilla | 1.7 | bugué | échec | échec | échec | échec | OK | échec | 
| 1.4 | ||||||||
| MSIE | bugué | bugué | échec | échec | échec | bugué | MS | |
| Opera | 7.60 | OK | OK | OK | OK | OK | bugué | OK | 
| 7.23 | OK | OK | OK | OK | OK | bugué | OK | |
| Safari | 1.3 | |||||||
| 1.2 | ||||||||
| 1.1 | ||||||||
| Konqueror | xxx | |||||||
Mozilla ne gère l’évènement load sur l’élément BODY 
    qu’au travers de l’attribut 
    HTML onload. Et encore donne t-il des informations erronées 
    sur l’évènement déclenché puisqu’il indique le document comme cible de l’évènement 
    et la fenêtre comme étant l’objet sur lequel a été enregistré le guetteur 
    (NdM : On ne partage pas mon avis sur le 
    bugtracker de Mozilla. 
    Bug 257556).
Opera gère parfaitement cet évènement et fournit les bonnes informations sur l’évènement déclenché.
IE gère l’évènement 
    load via les attributs HTML et JS 
    onload, par contre, il fournit une information erronée concernant 
    l’objet cible de l’évènement (Pas d’équivalent à currentTarget, et 
    srcElement vaut null).
HTMLDocumentQuelque soit le fonctionnement adopté, ni IE ni Mozilla ne 
    gèrent l’évènement load sur le document. Opera gère 
    parfaitement cela.
WindowMozilla déclenche l’évènement qu’il soit enregistré via l’attribut JavaScript onload 
    ou l’API du 
    W3C. Les attributs d’évènement currentTarget et target 
    ont les bonnes valeurs.
Opera ne déclenche l’évènement que s’il est enregistré via l’attribut JavaScript 
    onload ou via l’API propriétaire de Microsoft (??). target 
    a la bonne valeur, en revanche, currentTarget référence l’objet 
    HTMLDocument.
Avec IE, srcElement vaut null. L’évènement est également 
    déclenché en passant par l’API propriétaire de Microsoft.
Opera est le navigateur qui s’en sort le mieux. Attention cependant, il semble 
    avoir une gestion très tordue de cet évènement. En effet, il ne déclenche pas 
    l’évènement load si vous affichez la page en ayant utilisé le mécanisme 
    précédent
 ou suivant
 dans le navigateur, et affiche la page dans l’état 
    exact dans lequel vous l’avez quittée (Modifications faites sur le document par le 
    DOM comprises) ! 
    Encore plus fort, tous les objets initialisés ou modifiés normalement pendant cet 
    évènement sont néanmoins bien présents et utilisables ! Vous pouvez, si vous 
    avez Opera sous la main, constater la chose sur la page Les mystères 
    de Opera
.
Le fait que le document et les scripts qui lui sont liés semblent exactement dans le même état que si l’on avait tout simplement pas quitté la page explique pourquoi je n’en ai pas tenu compte dans le tableau des résultats.