molily: window.onload function()

Beitrag lesen

Mache ich aber;
window.onload = loadMsg('Das Laden war erfolgreich!','boxInfo');

klappt das auch

Es klappt nicht - zumindest tut es nicht das, was du erwartest. Es wartet gar nicht, bis das Dokument fertig geladen ist und das load-Ereignis eintritt, sondern ruft die Funktion sofort auf. Zu dem Zeitpunkt, an dem der Browser diese JavaScript-Codezeile ausführt - das ist wahrscheinlich noch bevor er das gesamte Dokument samt Bilder usw. geladen hat.

Es ist dasselbe wie
loadMsg('Das Laden war erfolgreich!','boxInfo');

Denn die Zuweisung an window.onload zeitigt keine Folgen, weil der Aufruf von loadMsg höchstwahrscheinlich kein Funktionsobjekt zurückgibt.

und auch der Firebug meldet keinen Fehler.
Ist das nun einfach eine syntaktisch falsche Schreibweise

Wie Martin sagte: Das ist durchaus erlaubt und möglich, *macht* aber etwas anderes. Man kann schreiben

objekt.eigenschaft = funktion(param1);

Dann wird die Funktion sofort ausgeführt und wert bekommt den Rückgabewert der Funktion zugewiesen. Mehr nicht.

Wenn ich hingegen die Funktion nicht sofort ausführen will, sondern sie als Event-Handler registrieren will, damit sie irgendwann später beim Eintreten des Ereignisses gestartet wird: Dann erfüllt der obige Code nicht diesen Zweck.

window.onload = function(){
loadMsg('Das Laden war erfolgreich!','boxInfo');
}

So musst du arbeiten, um das Ziel zu erreichen, dass beim erfolgreichen Laden des Dokuments loadMsg mit diesen Parametern aufgerufen wird.

Mathias