Sven Rautenberg: bitte bitte helfen - finde den fehler nicht

Beitrag lesen

hi,

ich habe jetzt eine browserweiche geschrieben, die im nn auch funktioniert. wie script zeigt, öffnet er bei 4.7 browsercheck.html und zum testen ab 4.75 sitemap.html

Abhängig davon, wozu du eine Browserweiche benötigst, solltest du entsprechenden Code benutzen.

Fall 1: Browserunterscheidung zum Benutzen verschiedener Zugriffsmethoden auf Layer.

Ein simpler Dreizeiler unterscheidet die Typen:
ns4 = (document.layers)? true:false
ie4 = (document.all)? true:false
v6 = (document.getElementById)? true:false

Achtung: Mehrere Variablen können gleichzeitig wahr sein, die Layerroutine sollte das mit "if elseif elseif" berücksichtigen und nur jeweils einen Codeteil zum Zuge kommen lassen. Und diese Vorgehensweise ersetzt nicht die Prüfung auf das Vorhandensein weiterer Objekte, die man benutzt. Auch wenn die Variablen so einladend aussehen, sie sagen NICHT aus, daß man es mit Netscape 4, Internet Explorer 4 oder einem Browser Version 6 zu tun hat, sondern nur, daß der Browser die Objekte document.layers, document.all und/oder document.getElementById kennt.

Fall 2: Browserunterscheidung nach Hersteller, Versionsnummer und Plattform.

Nimm dazu einfach das "Ultimate client-side JavaScript client sniff" von Netscape. Damit kriegst du ganz sicher raus, was du für einen Browser hast. Wenn du das Script als externe Datei vor allen deinen Javascripten einbindest, muß der Browser weniger laden, und du machst weniger Fehler.

Anwendung: Im Prinzip nur dann, wenn es um herstellerspezifische Unterschiede geht, also z.B. verschiedene CSS für PC und Mac (Schriftgrößen unterschiedlich bei pt-Angaben).

Das Script gibts hier (zusammen mit ein paar umfangreichen und sehr wichtigen Zusatzinformationen): http://www.mozilla.org/docs/web-developer/sniffer/browser_type.html

- Sven Rautenberg