Mit JS eine CSS Datei laden

  • Themenstarter Themenstarter Comenius
  • Beginndatum Beginndatum
C

Comenius

Hi,

Das man mit JS überprüfen kann, welcher Brwoser + Version etc. genutzt wird ist klar.
Nun würde mich interessieren, ob man mit Java-Script auch eine passende CSS-Datei laden kann.

Kommt bei der JS-Abfrage am Anfang "Internet Explorer" raus, soll zb.: "IE.css" geladen werden.

Das gleiche halt auch mit NS, Opera und Firefox.

Geht das ?

Gruss
Commi
 
Wenn man es nicht direkt mit JS machen kann, könnte man doch die Variablenan an PHP übergeben.

In der Zeile die den CSS-Code lädt, setzt man dann einfach die passende PHP-Variable.

<link rel="stylesheet" href="<?php echo "$Variable.css"; ?>" media="screen">

Oder habe ich gerade irgendwo einen Gedankenfehler ?

Wenn nicht, bräuchte ich euro Hilfe im JS Teil, denn davon habe ich null Ahnung :)

Gruss
Commi
 
Hi,

Erstmal danke für die Links.

Dein erster Link hilft mir eigentlich nichts, weil es nur bei IE funktioniert :(

Im zweiten Link wird zwar auf die Browser-Erkennung etc. per JS eingegangen, aber leider nicht, wie und ob man überhaupt eine CSS Datei laden kann.

Trotzdem Danke

Gruss
Commi
 
Comenius hat gesagt.:
Im zweiten Link wird zwar auf die Browser-Erkennung etc. per JS eingegangen, aber leider nicht, wie und ob man überhaupt eine CSS Datei laden kann.
Du schreibst den entsprecheden <link>-Tag einfach per document.write() in den <head>-Tag.
HTML:
<html><head>
    
    <script type="text/javascript"><!--
  	if (browser == 'Internet Explorer') {
 		document.write('<link rel="StyleSheet" type="text/css" href="ie.css" />');
 	} else {
 		document.write('<link rel="StyleSheet" type="text/css" href="nichtie.css" />');
 	}
    //--></script>
    
    </head><body>
    
    Inhalt
    
    </body></html>
 
Zuletzt bearbeitet:
Hi,

Danke con-f-use.

Ich habe gerade folgenden Code gefunden: (was eigentlich genau das gleiche ist...)

Code:
 <script language="JavaScript">
   
  <!--
   
  // Browsererkennung
   
  if (navigator.userAgent.indexOf("Netscape") > 0){  document.write("<LINK REL=\"stylesheet\" HREF=\"CSS/StyleA.css\"  TYPE=\"text/css\">");}
   
   
   
  if (navigator.userAgent.indexOf("MSIE") > 0 &&
   
  navigator.userAgent.indexOf("Opera") < 0){ document.write("<LINK  REL=\"stylesheet\" HREF=\"CSS/StyleB.css\" TYPE=\"text/css\">");}
   
   
   
  if (navigator.userAgent.indexOf("Opera") > 0){ document.write("<LINK  REL=\"stylesheet\" HREF=\"CSS/StyleC.css\" TYPE=\"text/css\">");} // -->  </script>

Ich hätte das ganze aber auch noch gerne für den Firefox.
Kürzt man den mit "FF" ab ?

Wäre nett, wenn ihr mir das noch sagen könntet. :)

Danke euch

Gruss
Commi

PS: Falls ich es schneller herausfinde, als ihr hier antwortet, lasse ich es euch wissen :p
 
Habe es hinbekommen, keine Ahung wie... es läuft, das reicht mir :)

Dank euch

Gruss
Commi
 
Damit meine Version läuft bräuchtest du ja auch das bereits erwähnte Browser-detect-script zusätzlich.

Der Firefox hat übrigens nicht wirklich eine eigene identifizierung und da der IE was von "Mozilla" labert musst du da wohl über if (navigator.product == 'Gecko') gehen, da alle Gecko-Borwser (Mozilla, Firebird, Thunderwasauchimmer, etc) html gleich interpretieren.
 
Ich bin eher auf diesen Satz eigegangen ->

Comenius hat gesagt.:
Kommt bei der JS-Abfrage am Anfang "Internet Explorer" raus, soll zb.: "IE.css" geladen werden.
und zu
Comenius hat gesagt.:
Dein erster Link hilft mir eigentlich nichts, weil es nur bei IE funktioniert

Mithilfe der Conditional Comments kannst du in einem CSS-Dokument ja alles an den IE "anpassen". Dafür werden sie benutzt.
Wenn du jedoch die User ohne Java Script nicht berücksichtigen möchtest, kannst du alles so lassen ;)

Greetz
 

Neue Beiträge

Zurück