Mike28: CSS-Datei in Abhängigkeit von Javascript laden

Hallo Zusammen

Folgende Situation:
Für den Microsoft Internet Explorer soll eine externe CSS-Datei (iejs.css) im Head einer XHTML 1.0 -Datei geladen werden, aber nur wenn Javascript im Browser aktiviert ist.
Wenn Javascript deaktiviert ist soll eine andere CSS-Datei (ienjs.css) geladen werden.

Ersteres ist ja einfach:
<!--[if lt IE 7]>
<script type="text/javascript">
/* <![CDATA[ */
document.write('<link rel="stylesheet" type="text/css" media="screen" href="iejs.css">');
/* ]]> */
</script>
<![endif]-->

Zweiteres ist leider nicht so einfach. "noscript" gibt es im Head-Bereich ja nicht. Die "ienjs.css" soll aber nur geladen werden wenn Javascript deaktiviert ist!

Hat da wer einen Tip wie ich dies umsetzen könnte?

Danke, Mike

  1. Hi,

    Ersteres ist ja einfach:
    <!--[if lt IE 7]>
    <script type="text/javascript">
    /* <![CDATA[ */
    document.write('<link rel="stylesheet" type="text/css" media="screen" href="iejs.css">');
    /* ]]> */
    </script>
    <![endif]-->

    zweiteres auch: document.getElementsByTagName("style")[0].disabled = true;

    • sofern Du andere CSS für den IE als erstes eingebunden hast.

    freundliche Grüße
    Ingo

    1. Hi,
      Du könntest auch das Nicht-IE-CSS zuerst laden und es dann vom IE-CSS überschreiben lassen - das Nicht-IE-CSS wird dann auf jeden Fall geladen, hat der User einen IE und JavaScript aktiviert, wird es aber sogleich wieder überschrieben.
      Hat der User kein JavaScript, wird der Script-Teil nicht ausgeführt und folglich auch kein Stylesheet geladen, welches das andere überschreibt.

      Grüße,
      Jörg

    2. zweiteres auch: document.getElementsByTagName("style")[0].disabled = true;

      • sofern Du andere CSS für den IE als erstes eingebunden hast.

      Hi Ingo

      Danke für die schnelle Antwort - aber irgendwie check ich das nicht was Du geschrieben hast. Sorry, bin in Javascript nicht wirklich fit...

      Wo/wie schreib ich das von Dir geschriebene hin?

      Danke, Mike

    3. zweiteres auch: document.getElementsByTagName("style")[0].disabled = true;

      • sofern Du andere CSS für den IE als erstes eingebunden hast.

      freundliche Grüße
      Ingo

      Aaaah, danke, habs gecheckt:

      <meta http-equiv="content-style-type" content="text/css" />
      <link rel="stylesheet" type="text/css" media="screen" href="ienjsw.css">
      <script type="text/javascript">
      /* <![CDATA[ */
      document.write('<link rel="stylesheet" type="text/css" media="screen" href="iejs.css">');
      document.getElementsByTagName("link")[0].disabled = true;
      /* ]]> */
      </script>

      :-)))
      Mike