2009-08-05 14 views
7

Ich sehe Leute die ganze Zeit "window.onload" verwenden, aber warum? Ist der "Fenster" -Teil nicht komplett überflüssig?JavaScript "window.onload" - ist "window" wirklich notwendig?

+0

Hängt pn Ihren Kontext zu arbeiten. – EFraim

+0

Ich sollte klarstellen, dass ich im Fensterbereich bin. Ist das im Fensterbereich nicht so überflüssig wie die Verwendung von window.document oder window dot anything? – jedmao

+1

@sfjedi - es ist das Risiko und die Unübersichtlichkeit nicht wert. –

Antwort

8

Wenn nicht, wird die onload-Methode dem aktuellen Objekt zugewiesen, unabhängig davon, was es ist (falls vorhanden). Manchmal funktioniert es vielleicht, aber das Schreiben von window.onload ist der expliziteste, spezifischste und sicherste Weg, dies zu tun.

+2

Rechts. "onload" wird nicht ausschließlich für das Fensterobjekt verwendet. Es kann auch für Bilder und andere Objekte verwendet werden. Daher sollte das Fenster immer angegeben werden. – DLH

+3

JavaScript hat dies nicht impliziert, daher würde es nur mit einer anderen Onload-Variablen kollidieren, wenn es sich um eine lokale Variable handelt oder wenn Sie sich in einem "with ([asy object with onload property]) Block befinden. –

0

link text „Die Last-Ereignis ausgelöst wird am Ende des Dokuments Ladevorgang. An dieser Stelle alle Objekte im Dokument sind im DOM, und alle Bilder und Sub-Frames geladen wurden.“

müssen mit dem vollen DOM

0
<script type="text/javascript">  
    if(window.addEventListener){ 
     window.addhandler= function(who, which, what){ 
      return who.addEventListener(which, what, false); 
     } 
    } 
    else if(window.attachEvent){ 
     window.addhandler= function(who, which, what){ 
      return who.addEventListener('on'+which, what); 
     } 
    }   
    function somefunction(){ 
     alert('page loaded') 
    }  
    addhandler(window,'load',somefunction);  
</script> 
Verwandte Themen