pigasus' site  [home] [lost] [js] [kite] [div] [info]

Kompatibel bleiben - aber wie?

Ein Hauptproblem bei der (Java)Scripterstellung ist der Unterschied der Browser und Plattformen. Ein paar Zahlen von Anfang 1999:

Nachtrag: Im Mai 2001 hat sich das Bild verändert:

2. Nachtrag: Im Februar 2006 sah es dann so aus:

Wer also nicht viele Besucher verlieren will, sollte seine Seiten den verschiedenen Ausstattungen anpassen. Hierzu gibt es verschiedene Varianten:

Bei allen Formen sollte man in der Regel von der einfachsten Seite ausgehen. Eine Weiterleitung zur Einfach-Version etwa scheitert sonst vielleicht schon daran, dass der Browser dieses Script gar nicht versteht!


Mit Extra-Seiten für jede Zielgruppe kann man, z.B. über einen einfachen Link, für jeden Browser, jede Auflösung, jede Plattform oder jede Sprache eigene Dateien erstellen. Beliebt ist hier die Textversion, die jeder Browser versteht. Weit darüber hinausgehende Anpassungen erfordern aber enorme Mehrarbeit und werden schnell unübersichtlich


Die Objekt-Abfrage prüft die Verwendbarkeit von Objekten, z.B.

if (document.all) document.all.blabla... oder
if (document.images) {....}

Hat man nun herausgefunden, welche Fähigkeiten der Browser hat, muss man nicht die ganze Seite neu schreiben. Zumeist reicht schon die Definition einzelner Variablen, die dann je nach Browser unterschiedliche Werte oder Quellen haben:

if (document.layers){position=document.layers[0].left}
else {position=document.all.f1.style.left;}

alert(position)

Hierbei werden alle Browser berücksichtigt, die die entsprechenden Fähigkeiten haben.


Als dritte Möglichkeit lassen sich Browser, Version, Plattform u.a.m. über das navigator-Objekt herausfinden (Beispiel). Diese Methode gibt natürlich mehr Details preis, hat aber auch ihre Tücken: Der Programmierer schließt zumeist einige Besucher unnötig aus, obwohl ihre Browser eigentlich alle Fähigkeiten haben. Es gibt schließlich noch mehr Browser als NN und IE - und eine exakte Abfrage der Browserversion behindert bei unvorsichtigem Gebrauch sogar die neueren Browser.


Nachtrag:
Nach wie vor neigt der IE dazu, Codefehler eher zu verzeihen. Um kompatible Seiten zu erstellen, empfiehlt sich also ein anderer Browser als Referenz. Zur Zeit (2006) ist unsere Empfehlung Opera 8: Was hier ordentlich aussieht, tut das in der Regel auch auf IE, Firefox etc. - und sogar auf dem Mac.