Eine Browserweiche für Netscape 4

  • Als Netscapes Navigator 4 1997 herauskam, war er unangefochtener Marktführer mit über 80% Marktanteil. Heute hat er nur noch unter 20% mit sinkender Tendenz und ist eine Bremse für die Weiterentwicklung von HTML als systemunabhängiger Dokumentensprache im Web. Der Flash-Boom ist eine Antwort auf die Unfähigkeit alter Browser, Webseiten einfach und doch anspruchsvoll darzustellen. Will man die Möglichkeiten von CSS2 ausnutzen und die Zukunftsfähigkeit in Richtung XML nicht verpassen, darf man auf diese Oldies keine Rücksicht nehmen. Eine einheitliche Seite für alle gibt es nicht, entweder die Antiquitäten aussperren oder faule Kompromisse oder unterschiedliche Stylesheets.

    So macht man durch ein Standard-Stylesheet Oldies unzugänglich mit einer Anweisung, die nur neuere Browser beherrschen: <style type="text/css"> @import url("stichpunkt.css"); </style> Diese Anweisung kennen die "alten" Navigator nicht und ignorieren sie deshalb. Ein Netscape 4-Benutzer sieht alle Inhalte der Seite, hat aber keinerlei Design. Motto: Inhalt für alle, Gestaltung nur für die, die es können.

    Will man die Oldies nicht vollkommen vom Design ausschließen, kann man ihnen ein eigenes Stylesheet mit reduziertem Umfang verpassen: <link rel="stylesheet" type="text/css" href="oldies.css"> <style type=text/css" media="all"> @import url("stichpunkt.css"); </style> In diesem Fall erkennen alle Browser die erste Anweisung und laden das Stylesheet. Moderne Browser laden anschließend auch das zweite, das dann die Anweisungen enthält, an denen der alte Navigator scheitert.

    Aber Vorsicht: Das moderne Stylesheet muss in diesem Fall alle Angaben des ersteren überschreiben, sonst ergeben sich ungewollte Effekte! Am besten zuerst das @importierte Stylesheet schreiben. Dann für die Netscape 4-Version die Anweisungen löschen oder umändern, die er nicht versteht. Dann neue Angaben im Standard Sheet ebenfalls definieren. Einfacher ist ein Entweder-Oder und das geht nur mit Javascript (oder einer serverseitigen Weiche). Wenn jetzt einer schreit "das kann man ja aber auch abschalten" - stimmt, aber dann sehen Navi-Benutzer kein CSS, also können wir die Angsthasen vergessen.

    Die Browserweiche mit Javascript: <script language="javascript" type="text/javascript"> if(document.layers) { document.writeln("<link rel='stylesheet' type='text/css' href='oldies.css'>"); } </script>oder besser nach XHML: <script language="javascript" type="text/javascript"> //<![CDATA[ if(document.layers) { document.writeln("<link rel='stylesheet' type='text/css' href='oldies.css' />"); } //]]> </script> <style type=text/css" media="all"> @import url("stichpunkt.css"); </style> So bekommt jeder das zu sehen, was sein Browser anzeigen kann.