Problem: Unterschiedliche Programmierung in Internet Explorer und Netscape Communicator
Grund: Unterschiedlicher Aufbau des Objektmodells
--> Cross-Browser-Lösung geht in beiden Browsern
keine klare Unterscheidung zwischen HTML und DHTML
HTML (bis Version 3.0): Zugriff über das Objektmodell auf ca. 15 tags
DHTML (ab Version 4.0): ungefähr 80 Objekte verfügbar
Um zwischen einer Funktion im IE 4.0 und einer Funktion im NC 4.0 unterscheiden zu können, brauchen wir ein Unterscheidungskriterium:
If (document.layers)
... hier folgt der Netscape-Code...
else
... hier folgt der Microsoft-Code...
Funktionen "zeigeSchicht()" und "verbergeSchicht()" auf Cross-Browser arbeiten mit Übergabewerte. Dies wird beim Event-Handler "onClick" bei der Definition des Buttons festgelgt
onClick="zeigeSchicht('ebene1')"
bzw.
onClick="verbergeSchicht('ebene1')"
Die Funktion "zeigeSchicht()" nimmt den Übergabewert entgegen und setzt die visibility-Eigenschaft entweder auf "show" bzw. "visible":
function zeigeSchicht (x){
if (document.layers)
document.layers[x].visibility="show";
else
document.all[x].style.visibility="visible";
}
Die Funktion "verbergeSchicht()" setzt die visibility-Eigenschaft entsprechend auf "hide" bzw. "hidden":
function verbergeSchicht (x){
if (document.layers)
document.layers[x].visibility="hide";
else
document.all[x].style.visibility="hidden";
}