hupo300: verschiedene Stylessheets (je nach Argumenten) laden

Hallo!

Ich hätte eine Frage:
Wie ist es möglich zwei (oder mehrere) verschiedene Stylessheets aufzurufen.

1. sollte die Auflösung 800px sein
2. sollte die Auflösung 1024px sein
3. ...

Ich hab mich bereits mit stylesswitcher herumgeärgert, doch das kann
ja nicht so kompliziert sein (es soll automatisch gehen):

Folgend ein Skript, wie ich es meine:

<html>
<head>

<script language="JavaScript">
<!--

function aufloesung()
  {

if (screen.width <= 800)

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

else if (screen.width > 800 && screen.width < 1280)

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

else

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

//-->
</SCRIPT>

<title>Test</title>

</head>

<body onload="aufloesung()">

<body>

bla, bla, bla
bla, bla, bla

</body>
</html>

_

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

Dieser Ausdruck funktioniert natürlich nicht. Gibt es da eine andere (einfache) Möglichleit?

Danke für euere Hilfe!

mfg Hubert

  1. wieso sollte das grundsätzlich nicht funktionieren? das einzige, was mir jetzt sofort auffiel, ist dass du die doppelten anführungszeichen im string nicht maskiert hast bzw. durch einfache ersetzt hast - somit kann der d.write-befehl auch gar nicht funktionieren ...

    gruß hein

    1. Hallo!

      Danke für die Antworten!

      »»Dir ist hoffentlich klar, dass die Auflösung rein gar nichts
      »»über die aktuelle Größe des Browserfensters aussagt...
      »»

      Ich will je nach Auflösung ein anderes Hintergrundbild laden und den Grund der HTML-Seite(n) immer gleich behalten...

      »»In document.write steckt ein Fehler, die äußeren " mußt Du
      »»durch ' ersetzen
      »»
      ..somit hat es funktioniert!

      Also:
      document.write('<link rel=stylesheet type="text/css" href="../stylesheets/layout_bilder0x.css">');

      mfg Hubert

      1. Ich will je nach Auflösung ein anderes Hintergrundbild laden und den Grund der HTML-Seite(n) immer gleich behalten...

        Na, dann würde ich nicht mehrere Stylesheets verwenden, sondern mit JS das Bild austauschen. So wie du es jetzt machst, bekommen nämlich Leute die JS ausschalten gar nichts mehr zu sehen.

        Struppi.

  2. Hi,

    Dir ist hoffentlich klar, dass die Auflösung rein gar nichts über die aktuelle Größe des Browserfensters aussagt...

    In document.write steckt ein Fehler, die äußeren " mußt Du durch ' ersetzen oder die inneren " durch \ entwerten, (")

  3. Wie ist es möglich zwei (oder mehrere) verschiedene Stylessheets aufzurufen.

    1. sollte die Auflösung 800px sein
    2. sollte die Auflösung 1024px sein
    3. ...

    Sinnvoll ist das i.d.R. nicht, da HTML/CSS dafür ausgelegt sind Auflösungsunabhängig zu arbeiten und darüberhinaus sagt die Auflösung gar nichts über die Größe des Browserfenster aus (bei mir ist das Browserfenster zu Hause auf einem 19" in der Regel etwas kleiner als auf der Arbeit mit einem 15").

    Dein Skript funktioniert nicht, weil es Fehler enthält (Wie du Fehler in JS findest: http://glasgoogle.de), aber selbst wenn du sie beseitigst funktioniert es nicht, da du nach onload dein Dokument überschreibst mit document.write.

    Wenn dir diese CSS Datein wirklich so wichtig sind (wie gesagt sinnvoll ist das nicht), dann mußt du das Skript direkt ohne Funktion aufrufen.

    Struppi.