Christian Seiler: IE versteht's, Netscape nicht!!!

Beitrag lesen

Hallo,

mein Ausbilder und ich haben eine Navigation mit JScript geschrieben. Als ich die Seite aber unter Netscape 4.78 & 6.0 testete, funktionierte nichts von alledem.

Klar - Netscape kann nur JavaScript. JScript ist eine Erfindung von Microsoft.

Nach reichlichem überlegen und "Alert Boxen" einfügen, fand ich die Stelle, wo's hagt.

eval('document["' + 'menu' + Rubrik + '"].top = netwert');

Da scheint ein Fehler drinne zu sein, doch da ich mit JScript noch nicht so die Erfahrung habe, kann ich keinen erkennen.

Wenn Du ein so etwas machen willst, dann musst so arbeiten:

if (document.getElementById) { /* DOM-Methode http://selfhtml.teamone.de/dhtml/modelle/dom.htm */
  // code
} else if (document.all) { /* alte IE4-Methode http://selfhtml.teamone.de/dhtml/modelle/microsoft.htm */
  // code
} else if (document.layers) { /* alte NN4-Methode http://selfhtml.teamone.de/dhtml/modelle/netscape.htm */
  // code
} else { /* kein DHTML */
  // code, z.B. document.write ("Ihr Browser unterstützt kein DHTML");
}

Die DOM-Methode ist der eigentliche Standard im WWW, daher kann man den IE4/NN4-Teil u.U. weglassen (und nicht _nur_ IE4-Methode verwenden), denn IE ab 5.0, NN ab 6.0, Mozilla und Opera können das. (Opera leider nur teilweise)

Noch etwas: eval ist böse[tm] (es startet eine neue JavaScript-Instanz und verbraucht ewig viel Rechenzeit - und in dem Fall brauchst Du es nicht mal).

Grüße,

Christian