Kai Salzinger: Browserweiche per externem javascript tuts nich

Hallo Forum,
ich versuche HTML Dateien per externem Javascript ein CSS zuzuweisen. Es will aber nicht funktionieren. Mag mir jemand einen Tip geben?

Im Header der HTML Datei steht:
<script src="..\scripts\browserweiche.js" type="text/javascript">
</script>

Die browserweiche.js Datei lautet:
if ((navigator.appVersion.indexOf("Win") != -1)) {
document.write("<LINK REL="stylesheet" HREF="..\css\win.css" TYPE="text/css">"); }
else {
document.write("<LINK REL="stylesheet" HREF="..\css\other.css" TYPE="text/css">"); }

alternativ habe ich probiert:
if((navigator.appName.indexOf("Explorer") >= 0)
&& (navigator.appVersion.indexOf('4.0')>=0 ))
document.writeln('<link rel=stylesheet href="..\css\msie.css" type="text/css">');
if((navigator.appName.indexOf("Netscape") >= 0)
&& (navigator.appVersion.indexOf('4.0')>=0 ))
document.writeln('<link rel=stylesheet href="..\css\netscape.css" type ="text/css">');

kai

  1. Hallo Kai

    Die browserweiche.js Datei lautet:
    if ((navigator.appVersion.indexOf("Win") != -1)) {
    document.write("<LINK REL="stylesheet" HREF="..\css\win.css" TYPE="text/css">"); }

    {document.write("<link rel=stylesheet type="text/css" href="--------.css">");}

    http://www.selfhtml.teamone.de/css/formate/einbinden.htm

    Beachte auch, dass die Abfrage des Browsers über 'appVersion' nicht die zuverlässigste ist. Zum Beispiel kann man bei Opera und Mozilla einstellen als was er sich meldet.
    besser ist IMHO die Abfrage nach unterstützten Funktionen z.B.:
    if (document.layers==undefined&&document.all&&document.styleSheets){browser="MSIE 6";document.write("<link rel=stylesheet type="text/css" href="msie.css">");}
    if (document.layers&&document.all==undefined&&document.styleSheets==undefined){browser="Netscape 4";document.write("<link rel=stylesheet type="text/css" href="net4.css">");}
    if (document.layers==undefined&&document.all==undefined&&document.styleSheets){browser="Netscape 6";document.write("<link rel=stylesheet type="text/css" href="net6.css">");}
    if (document.layers==undefined&&document.all&&document.styleSheets==undefined){browser="Opera 5";document.write("<link rel=stylesheet type="text/css" href="opera.css">");}

    ist zwar mehr Aufwand sollte aber zuverlässig funktionieren, unabhängig vom Namen des Browsers. Vorausgesetzt natürlich, JavaScript ist aktiviert.

    Hoffe das hilft Dir

    Grüsse aus Nürnberg
    HarryS

  2. Hi,

    ich versuche HTML Dateien per externem Javascript ein CSS zuzuweisen.

    warum denn das? Das bedeutet, wie du schon gemerkt hast, nur unnötigen K(r)ampf...

    http://aktuell.de.selfhtml.org/tippstricks/css/browserweiche/

    Das funktioniert *immer*, auch bei deaktiviertem Javascript.

    LG Orlando