Mike Degen: Body onload mit mehreren Befehlen in alten Browsern.

Ich hab in meinem onload mehrere Aufrufe von Javascriptfunktionen hintereinander und eine If abfrage.
Also:
<BODY TEXT="000000" BGCOLOR="FFFFFF" MARGINWIDTH=0 LEFTMARGIN=10 MARGINHEIGHT=0 TOPMARGIN=0 onLoad="if(parent.Menu.document.title != 'Home' && parent.Menu.document.title != 'SiteMap')  BuildMenu('Home');Banner('Home');window.defaultStatus=('Home');window.open('/PopUp/Newsletter','popUp','width=330,height=350')">

und im IE 5.5 und höher funktioniert das alles Prima.
Ich hab aber bei IE 5.0 das Phänomen das er nur den ersten Befehl ausführt.
Das Menu wird richtig aktulisiert.
Keine Banner.
Kein Popup.
Ich täts gern so lassen und das nicht zu einer JSfunktion zusammenfassen und die dann im onload aufrufen.
Eine funktion scheint beim Aufruf im onload keinen Stress zu machen.
Aber Wie gesagt das die funktionen einzeln sind wäre mir eigentlich ganz lieb.
Kann mir jemand sagen obs da eine möglichkeit gibt?
Es müsste nach Möglichkeit
NS 4.7 und IE4 aufwärts gehen.

Vielen Dank im Vorraus.

  1. Hi Mike,

    versuch's mal mit

    <BODY TEXT="000000" BGCOLOR="FFFFFF" MARGINWIDTH=0 LEFTMARGIN=10 MARGINHEIGHT=0 TOPMARGIN=0 onLoad="if(parent.Menu.document.title != 'Home' && parent.Menu.document.title != 'SiteMap') { BuildMenu('Home'); Banner('Home'); window.defaultStatus=('Home'); window.open('/PopUp/Newsletter','popUp','width=330,height=350'); }">

    Grüße,

    Utz

  2. Hi!

    Sieht ja alles ganz gut aus, aber findest Du das nicht etwas ätzend?!

    Ich kann Dir nur empfehlen, die onLoad-Funktion als extra Funktion zu nehmen und nicht alles in eine Zeile zu packen.
    Ist doch viel übersichtlicher!

    Vielleicht liegt es dann auch an den fehlenden "{}"...

    Gruss,
    CS

    Ich hab in meinem onload mehrere Aufrufe von Javascriptfunktionen hintereinander und eine If abfrage.
    Also:
    <BODY TEXT="000000" BGCOLOR="FFFFFF" MARGINWIDTH=0 LEFTMARGIN=10 MARGINHEIGHT=0 TOPMARGIN=0 onLoad="if(parent.Menu.document.title != 'Home' && parent.Menu.document.title != 'SiteMap')  BuildMenu('Home');Banner('Home');window.defaultStatus=('Home');window.open('/PopUp/Newsletter','popUp','width=330,height=350')">

    [...]

  3. Danke für die Antworten.
    Ja Das mit den {} hab Ich auch gedacht aber leider hab Ich den gleichen Effekt.
    Die erste funktion wird ausgeführt.
    Alle danach nicht.
    Bei der Lösung von Utz.
    Die If bedingung soll nur für die JsFunktion die das menue aktualisiert gelten.
    Bei deinem Vorschlag sind alle funktionen von dieser If bedingung abhängig.
    Habs trotzdem mal ausprobiert funktioniert auch erwartungsgemäß im IE5.5
    Aber 5.0 grieg Ich das menu und sonst nix.

    Und wegen der Übersichtlichkeit.
    Ja weiß Ich;-) Der Quellcode wird sowieso komplett generiert.
    Wenn eine Seite kein Popup oder Banner hat wird das nicht in den Onload geschrieben.
    Ob der generierte Quelltext leserlich ist oder nicht
    Phhh... Who cares, Die rechte Maustaste ist sowieso Tabu;-))).
    Da wo Ich ihn zusammenbastle ist er leserlich;-)

    Das ist auch der Grund warum Ich ungern eine einzige funktion definieren möchte.
    Die Funktionen werden als externer Text eingeladen.

    Aber Ich glaube mir bleibt nix anderes übrig als halt noch einen Javascriptbereich mit einer Onload-funktion reinzubasteln.

    Ich nehm an das geht.

    Aber eine Lösung das im onload doch hinzugriegen wär mir wesentlich lieber.

    ...;-)

    1. Hi Mike,

      Aber Ich glaube mir bleibt nix anderes übrig als halt noch einen Javascriptbereich mit einer Onload-funktion reinzubasteln.

      Nicht aufgeben solange noch Syntax-Fehler drin sind :-) Gerade fiel mir auf:

      window.defaultStatus=('Home');

      ist natürlich...ähhh...Quatsch. Richtig wäre:

      window.defaultStatus='Home'; oder meinetwegen auch
      window.defaultStatus='(Home)';

      Grüße,

      Utz

      1. window.defaultStatus=('Home');

        ist natürlich...ähhh...Quatsch. Richtig wäre:

        window.defaultStatus='Home'; oder meinetwegen auch
        window.defaultStatus='(Home)';

        Ups...Autsch...Thanx...
        *kopfschüttel*;-))
        *schäm*...

        Mit einer onload Funktion funzt das übringens...

        Thanx to all....;-))