tgenter: via JavaScript <link>-Tag verändern

Hi!

Ich habe <div>s in meiner Seite. Die werden durch eine externe css-Datei positioniert (<link rel=stylesheet ... >). Damit die Sachen aber auch im Netscape richtig positioniert werden, habe ich Layer erzeugt, die ja direkt in html positioniert werden (<layer top=100 ... >).

Jetzt ergibt sich das Problem, dass Netscape sich verwirren lässt durch die css-Angaben. Also hab ich fürs erste alle html-Dokumente kopiert und sie in einem Unterordner (/html2/) abgespeichert, und der css-Datei in /html2/ habe ich einfach die Informationen zur Positionierung entzogen. Aber aus Projektverwaltungsgründen muss ich das unbedingt wieder ändern.

Also habe ich vor, via JavaScript abzufragen, ob Netscape 4.x benützt wird, und falls das der Fall ist, eine andere css-Datein verwendet werden soll. ABER: Netscape 4 kann ja getElementById nicht! Also muss ich natürlich die css-Datei für den Netscape angeben, und per JavaScript angeben dass wenn nicht NS 4.x benützt wird, muss die Adresse der css-Datei verändert werden. Hab ich mal so angefangen (und ewig dran getüfftelt), aber es kommt die Fehlermeldung "Object Expected":

<html>

<head>
<link rel=stylesheet href=style2.css type="text/css" id="CSS">
<script type="text/javascript"><!--

function style(){
 if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion.substring(0,1)) == "4"))
 document.getElementById("CSS").href = "style2.css";

else document.getElementById("CSS").href = "style.css";
}
//-->
</script>
</head>

<body bgcolor="cccccc" onLoad="style();">

(...)

In dem Beispiel ist style.css die Standard css-Datei, style2.css ist die css-Datei für Netscape 4.x

Nach stundenlangem Lesen meine Frage: Was ist daran falsch?

Danke im Vorraus!

Thomas

  1. Hallo Thomas,

    warum stellst Du eventuelle Rückfragen nicht im ersten Thread zu
    diesem Thema (<?m=86454&t=15472>)?

    In </faq/#Q-11> steht, warum das Eröffnen eines neuen Thread zum
    gleichen Thema innerhalb weniger Stunden in diesem Forum nicht
    erwünscht ist, Gründe werden da auch genannt.

    Viele Grüße,
    Stefan

    1. Hi Stefan...

      ... sorry, ich weiß! Aber es ist so verdammt dringend. Ich hätte erstmal unten probieren sollen, aber ich glaub nich dass da noch jmd. vorbei schaut...

      Kommt nicht wieder vor, aber "ein zwei tage" kann ich nicht mehr warten, und je länger ich hier keine antwort bekomme, desto länger darf ich heute überstunden schieben :(

      Also, noch mal sorry...

      thomas

      1. okay, da hab ich nich mit gerechnert, hat tasächlich jemand geantowrtet!

        grrr *schäm* :)

        ciao

        thomas

      2. Hallo Thomas,

        ... sorry, ich weiß! Aber es ist so verdammt dringend. Ich hätte erstmal unten probieren sollen, aber ich glaub nich dass da noch jmd. vorbei schaut...

        also ich habe von JavaScript wirklich soviel Ahnung, dass man da
        schon fast keine sagen kann, aber wenn ich <?m=86461&t=15472> richtig
        verstehe, dann willst Du dem NC4 was über getElementById() zuweisen
        und der NC4 hat ja davon laut SELFHTML überhaupt keinen Plan:
        http://de.selfhtml.org/javascript/objekte/document.htm#get_element_by_id

        Kann es sein, dass der alte Thread inkl. Antworten vielleicht doch
        nicht so verkehrt gewesen wäre? ;-)

        Ansonsten kannst Du Dir ja auch mal einen älteren Feature-Artikel
        von Stefan Muenz anschauen, vielleicht kommst Du damit weiter:
        http://aktuell.de.selfhtml.org/artikel/css/dyn-css/

        Viele Grüße,
        Stefan

        1. neee...

          ich will dem nc4 ja garnichts zuweisen, sonder in der html datei was schreiben, und wenn man die seite nich mit netscape 4 besucht, soll dwas geändert werden. so gehts ja auch.. aber unten im alten thread steht schon ne andere möglichkeit, ich erde da mal gucken...

          ciao

          thomas