Stefan: Browsererkennung

Ich suche ein Script womit der Browser erkannt wird und dann die entsprechende Stylesheet-Datei geladen wird.

Ich habe ja schon ein Script gefunden, aber es wird mir immer einer Fehlermeldung ausgeworfen.

Meine Datei sieht in etwa so aus:

<html>
<head>
<title>Titel</title>
<script language="Javascript">
<!--
var ua = navigator.user.Agent;
var stylesheet;
if (ua.indexOf("MSIE") >=0) {
stylesheet = "csswoderiehinsoll.css";
} else {
stylesheet = "cssderrest.css";
} --> hier kommt immer eine Fehlermeldung (Fehler:')' erwartet)
document.write("<link rel="stylesheet\ "type="text/css" href="" + stylesheet +""/>");
//->
</script>
</head>

<body >
</body>
</html>

  1. var ua = navigator.userAgent;

    nicht:

    var ua = navigator.user.Agent;

  2. Hallo Stefan,

    hier fehlt noch ein doctype

    <html>
    <head>
    <title>Titel</title>

    hier fehlt die Angabe zum Zeichensatz

    <script language="Javascript">

    hier fehlt ein type="text/javascript"

    var ua = navigator.user.Agent;

    das hat dir ja Christian schon gesagt

    var stylesheet;
    if (ua.indexOf("MSIE") >=0) {

    vorsicht - wenn sich Opera als IE ausgibt enthält der String auch 'MSIE'

    stylesheet = "csswoderiehinsoll.css";
    } else {
    stylesheet = "cssderrest.css";

    warum braucht der IE ein eigenes Stylesheet? weil er kein css kann? (ok, ok, er kann ein bischen, aber nicht so viel wie Opera und Mozilla) - in dem Fall hilft dir vielleicht http://aktuell.de.selfhtml.org/tippstricks/css/browserweiche/index.htm.

    } --> hier kommt immer eine Fehlermeldung (Fehler:')' erwartet)

    in solchen Fällen das ganz besser mit Opera oder Mozilla anschauen, die spucken aussagekräftigere Fehlermeldungen aus.

    document.write("<link rel="stylesheet\ "type="text/css" href="" + stylesheet +""/>");

    da ist (vermutlich) noch ein kleiner Fehler drin, statt ...stylesheet\ "type=... solltest du ...stylesheet" type=... schreiben, also das Leerzeichen eins weiter hinten hinschreiben.

    blöde Frage am Rande noch, was passiert, wenn js ausgeschaltet ist?

    Grüße aus Nürnberg
    Tobias

  3. Hallo Stefan,

    <script language="Javascript">
       <snip />
    </script>

    Wieso eine Browserweiche in Javascript bauen, wenn es doch auch mit CSS geht? Die Gefahr besteht, wie Tobias schon gesagt hat, dass der User die Stylesheets ausgeschaltet hat, und was dann?

    Zu dem Thema gibt es in der Abteilung Tipps & Tricks den Artikel "Browserweiche - Ausschluss mangelhafter Browser" (http://aktuell.de.selfhtml.org/tippstricks/css/browserweiche/ - der hilft dir sicher dabei. Ansonsten birgt das Archiv massenhaft von diesen Fragen inklusive Lösung. http://selfsuche.teamone.de

    Grüße aus Darmstadt,
    Benjamin