• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

window.onload

Werbung:
Ne, ich kriege da keinen Fehler gemeldet. In keinem der Browser. Ich teste mit Firefox, Safari und IE 8. Es ist als würde einfach die window.onload Methode übersprungen. Im BODY steht aber auch ein onload. Wenn ich es wegmache, geht es. Darf das nicht sein? Was kann ich denn machen, wenn ich mehrere Sachen habe, die eine onload Methode aufrufen.
 
Zuletzt bearbeitet:
Habe das jetzt mit window.addEvent gelöst. Da darf es auch ein onload im BODY geben. Die stören sich nicht. Läuft jetzt alles. Vielen Dank für die Tipps
 
Werbung:
Naja bei mir durfte es nicht so sein. Das Problem war sofort aus der Welt, als ich das onload im BODY entfernt habe. Irgendwas hat da nicht zusammengespielt
 
Naja bei mir durfte es nicht so sein. Das Problem war sofort aus der Welt, als ich das onload im BODY entfernt habe. Irgendwas hat da nicht zusammengespielt
Und das Irgendwas haben wir nie gesehen.

Wie schon gesagt, dein ursprüngliches Beispiel:
Code:
  <script type="text/javascript">  
    function load(){  
      alert("load event detected!");  
    }  
    window.onload = load;  
  </script>
funktioniert tadelos in allen Browsern, die JS können.
 
Werbung:
Ja, das Beispiel funktioniert so in allen Browsern. Aber sobald zusätzlich ein
HTML:
<BODY onload="...">
vorkommt, gehts bei mir in allen Browsern nicht mehr. Das hatte ich natürlich nicht erwähnt, weil ich nicht wusste, dass sowas als Fehlerquelle in Frage kommt
 
Ja, das Beispiel funktioniert so in allen Browsern. Aber sobald zusätzlich ein
HTML:
<BODY onload="...">
vorkommt, gehts bei mir in allen Browsern nicht mehr. Das hatte ich natürlich nicht erwähnt, weil ich nicht wusste, dass sowas als Fehlerquelle in Frage kommt
Das ist die "Fehlerquelle" du kannst in dieser klassischne Variante nicht zwei Events auf einmal definieren. Das geht bei keinem Event. Der HTML Inline Event überschreibt den JS Event und umgekehrt, je nachdem welchen Event du zuletzt definierst.

Inline Events sollte man auch vermeiden, da es unsauber ist HTML Code und JS Code zu vermischen.

Wenn du zur Laufzeit Events hinzufügen willst, brauchst du (momentan noch) eine Hilfefunktion, wie z.b. diese addEvent Methode. Wenn du vorher schon weißt, welche Events du benötigst, reicht auch die klassische Variante.

Das ganze hat aber nichts mit irgendwelchen Problemen, von irgendwelchen Browsern zu tun und wie auch schon hier im Thread vorgeschlagen, anstatt auf onload zu warten, reicht es für 99% aller Skripte aus, sie einfach vor das schliessende body-tag zu setzen.
 
Zurück
Oben