- Browser-Weiche
-
Browserweichen sind Techniken um Unterschiede in der Darstellung von Webseiten in verschiedenen Webbrowsern zu umgehen, indem für unterschiedliche Browser unterschiedlicher Code angeboten wird.
Bei der Gestaltung von Webseiten ergeben sich dadurch Probleme, dass nicht alle Webbrowser gleichermaßen die standardisierten Webtechnologien HTML, CSS und JavaScript unterstützen. Insbesondere ältere Browser unterstützen diese nur unzureichend und interpretieren manches anders, als vorgesehen. Beispielsweise verwendet der Internet-Explorer vor Version 6 und auch noch in neueren Versionen im Quirks-Modus ein vom Standard abweichendes Box-Modell. Das hat zur Folge, dass u.U. Webseiten im einen Browser richtig dargestellt werden und in anderen falsch. Die Problematik betrifft aber auch moderne Browser, da bisher kein Browser alle Standards vollständig unterstützt. Um dennoch eine einheitliche Darstellung bzw. Funktionalität zu erreichen, werden von den Autoren der Webseiten teilweise Browserweichen (engl. browser sniffing, dt. Browser (er-)schnüffeln) benutzt, um die unterschiedlichen Browser unterschiedlichen Code interpretieren zu lassen.
Techniken
Browserweichen können serverseitig (für gewöhnlich durch Auslesen des User-Agent-Headers des Browsers) mittels SSI[1], PHP[2] oder Perl[3] und clientseitig mittels CSS[4], JavaScript[5] (z.B. durch Testen auf das Vorhandensein bestimmter Objekte) oder (bei Weichen speziell für den Internet Explorer) Conditional Comments[6] realisiert werden.
Aufgrund der Vielzahl an Browsern ist es nicht möglich, für jeden Browser und jede Version eine eigene Version einer Webseite anzubieten, daher können Browserweichen auch ganze Familien von Browsern (Browser mit Gecko-Engine, Internet Explorer mit Version >= 5, etc.) unterscheiden[7].
Eine weitere Methode sind sogenannte CSS-Hacks[8], bei denen die fehlerhafte CSS-Interpretation von älteren Versionen der Browser gezielt genutzt wird, um diese zu speziellem Verhalten zu bringen. Von dieser Technik wird aber abgeraten, da sie zu Problemen mit neueren Versionen der Browser führen kann.
Probleme
Die Browsererkennung ist im Allgemeinen nicht zuverlässig, da die meisten Browser erlauben, einen benutzerdefinierten User-Agent-Header zu übertragen und JavaScript zu deaktivieren.
Da Suchmaschinen für gewöhnlich einen eigenen User-Agent-Header benutzen, können Browserweichen auch dazu benutzt werden, in Suchmaschinen falsche Informationen über den Inhalt einer Webseite einzutragen (Search Engine Spoofing), z.B. um für mehr Werbeeinnahmen durch Bannerwerbung die Zugriffszahl zu erhöhen.
Einzelnachweise
Wikimedia Foundation.