Hallo Martin, Hallo Mathias,
nochmals ganz herzlichen Dank für eure tolle Erklärung.
Jetzt habe sogar ich den Unterschied kapiert :-)
Diese Erklärung (und auch die von Mathias) hat mir sehr geholfen.
Auf jeden Fall passiert bei deinem Beispiel folgendes:
Das Dokument wird geladen, der Ladevorgang ist *noch nicht* abgeschlossen, da trifft der Browser auf die Javascript-Anweisungwindow.onload = loadMsg('Das Laden war erfolgreich!','boxInfo');
Er ruft also loadMsg() auf und wartet darauf, dass jemand die Messagebox wieder schließt. Den Rückgabewert von loadMsg() - also "nichts" - legt er nun in window.onload ab. Erst dann wird die Bearbeitung des Dokuments fortgesetzt. Einen Moment später ist das Dokument fertig geladen, der Browser schaut nach, ob in window.onload etwas hinterlegt ist, was auszuführen wäre - und er stellt fest, da ist "nichts", also 'undefined'. Also kein onload, der Fall ist erledigt.
Deine Funktion wird also aufgerufen - aber nicht, wie gewünscht, nach dem Laden des Dokuments, sondern schon währenddessen.
So konnte ich mir nun richtig gut vorstellen was hier step by step abläuft und wie die Auswirkungen sind.
Echt klasse.
vielen Dank und viele Grüße
Werner