Dominik: Durch if-Abfrage der Bildschirmauflösund das Styesheet änder

Ich entwerfe gerade meine Eigene Site und ich als Lain kenne mich mit JavaScript nicht aus, ich bin zwar auf eine Brauchbare Lösung gestoßen die so aus sieht:

function Stylesheet() {

if (screen.width == 1024)
        {
        document.write('<link rel="stylesheet" type="text/css" href="1024.css">');
        }

else if (screen.width == 1280)
            {
            document.write('<link rel="stylesheet" type="text/css" href="1280.css">');
            }

else if (screen.width == 1680)
            {
            document.write('<link type="text/css" rel="stylesheet" href="../Css/1680_css.css">');
            }
}

Doch das Will irgendwie nicht wie es soll.
Wenn ich denn Quelltext im Browser öffne kommt nur :

<link rel="stylesheet" type="text/css" href="1280.css">

z.B. raus.

Ich hoffe jemand kann mir helfen.

Danke im vorraus !

  1. Doch das Will irgendwie nicht wie es soll.
    Wenn ich denn Quelltext im Browser öffne kommt nur :

    <link rel="stylesheet" type="text/css" href="1280.css">

    Was ist daran falsch? Ist dein Screen nicht 1280px breit?

    Kalle

  2. @@Dominik:

    ich bin zwar auf eine Brauchbare Lösung gestoßen die so aus sieht:

    Das kann nicht brauchbar sein!

    if (screen.width == 1024)

    Auflösung erkennen?

    Brauchbar ist ein flexibles Layout, das sich an die Gegebenheiten beim Nutzer anpasst.

    Live long and prosper,
    Gunnar

    --
    Das einzige Mittel, den Irrtum zu vermeiden, ist die Unwissenheit. (Jean-Jacques Rousseau)
  3. Hi,

    if (screen.width == 1024)

    wie kommst Du auf die Idee, dass die Bildschirmauflösung gleich Browserfenstergrösse ist?

    Spar Dir das alles. Bau die Seite für eine Dir vertraute Browserfenstergrösse und halte das Layout flexibel. Wer damit nicht klar kommt kann mit Strg+/- oder Menu>Schriftgrad das Layout an seine Sehgewohnheiten anpassen.

    Gruesse, Joachim

    --
    Am Ende wird alles gut.
  4. Hallo,

    function Stylesheet() {
    if (screen.width == 1024)
            {
            document.write('<link rel="stylesheet" type="text/css" href="1024.css">');

    diese Konstruktion, vor allem die Verpackung in eine Funktion, sieht für mich stark danach aus, als würde dieser Code erst *nach* dem Laden des Dokuments aufgerufen.
    Wenn aber document.write() nicht während, sondern nach dem Laden des Dokuments aufgerufen wird, dann *überschreibt* es das komplette geladene Dokument.

    Wenn ich denn Quelltext im Browser öffne kommt nur :
    <link rel="stylesheet" type="text/css" href="1280.css">

    Das ist die zwangsläufige Folge.

    Dass die Bildschirmauflösung nichts mit der Größe (Breite) des Browserfensters zu tun hat, hast du ja nun schon erfahren. Außerdem berücksichtigst du nur ein paar wenige mögliche Bildschirmauflösungen (1024, 1280 und 1680 Pixel Breite). Was ist mit 800, 1152, 1600, 1440 Pixel? Wer solche Auflösungen fährt, hat Glück: Dadurch, dass du diese Werte nicht abfragst, kriegen diese Benutzer von dir gar kein spezielles Stylesheet, sondern kommen in den Genuss des eigentlichen Dokuments.
    Und Besucher ohne Javascript zum Glück auch.

    Danke im vorraus !

    Wo immer das sein mag.

    Schönen Abend noch,
     Martin

    --
    Wenn du beim Kochen etwas heißes Wasser übrig hast, friere es ein.
    Heißes Wasser kann man immer gebrauchen.
    1. [latex]Mae  govannen![/latex]

      Danke im vorraus !

      Wo immer das sein mag.

      Pseudodeutsche Bezeichnung einer sehr unsicheren Verhütungsmethode vielleicht?

      Cü,

      Kai

      --
      Ash nazg durbatulûk, ash nazg gimbatul,ash nazg thrakatulûk, agh burzum-ishi krimpatul
      selfcode sh:( fo:| ch:? rl:( br:< n4:# ie:{ mo:| va:) js:) de:> zu:) fl:( ss:| ls:?
      Mein Selfhtml-Kram