Jacquie: Verschiedene Stylesheets aufrufen

Hallo,
ich möchte gerne den Besuchern die Möglichkeit geben, meine Seite in zwei verschiedenen Ansichten zu betrachten. Dazu habe ich zwei verschiedene externe CSS - Dateien geschrieben. Nun soll der Besucher die Möglichkeit haben, auf einen Link zu klicken um damit das Aussehen zu ändern. Aber ich weiß nicht wie ich die zweite CSS - Datei verlinken muß.
Ich möchte auch kein Javascript einsetzen.
Ich habe auch schon hier gesucht aber nicht gefunden.
http://de.selfhtml.org/css/formate/einbinden.htm (Nur als Beweis das ich schon vorher gesucht habe).

Hier mal eine Kurzform meines HTML - Gerüstes. Ach ja, und lacht bitte nicht so laut das ich es bis hier höre, ich bin sowieso schon verzweifelt genug.

<html>
<head>
<title></title>
<meta name="author" content="Jacqueline">
<link rel="stylesheet" type="text/css" href="01.css">
<link rel="stylesheet" type="text/css" href="02.css">
</head>
<body>
<h1>Ich bin zu dumm f&uuml;r CSS</h1>
<a href="????">Anderes Design</a>
</body>
</html>

Ich bin für jede Hilfe dankbar

Jacquie

  1. Es gibt zwei Möglichkeiten, das CSS auszutauschen: Clientseitig und Serverseitig. Auf dem Client muss dazu jedoch JavaScript laufen, welches beim Klick auf den Link dazu genutzt wird, den oder die Stylesheet-Links zu manipulieren (damit die Änderung bei allen Browsern aktiv wird, musst Du den jeweiligen Link noch einmal mit appendChild in den head hängen).

    Serverseitig bedeutet, dass Du die CSS-Verlinkung bspw. von einem GET-Parameter abhängig machst - dazu benötigst Du ein CGI.

    Gruß, LX

    --
    X-Self-Code: sh:( fo:) ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: Unusual
    X-Please-Search-Archive-First: Absolutely Yes
  2. Hallo,
    danke für die Antwort aber ich verstehe leider nur Bahnhof, da ich weder Get - Parameter, noch CGI oder Appendchild kenne.
    Aber vielleicht kann mir mal jemand an meinem HTML - Gerüst zeigen, was ich wo eintragen muß.

    Danke

    1. danke für die Antwort aber ich verstehe leider nur Bahnhof, da ich weder Get - Parameter, noch CGI oder Appendchild kenne.
      Aber vielleicht kann mir mal jemand an meinem HTML - Gerüst zeigen, was ich wo eintragen muß.

      kümmere dich mal um <link rel="alternate stylesheet">
      Einige Browser erlauben das Austauschen des Stylesheets in der Browser-GUI.
      Die Angabe rel="alternate" veranlasst dies.

      mfg Beat

      --
      ><o(((°>           ><o(((°>
         <°)))o><                     ><o(((°>o
      Der Valigator leibt diese Fische
    2. Aber vielleicht kann mir mal jemand an meinem HTML - Gerüst zeigen, was ich wo eintragen muß.

      Nein, nicht wirklich! Du brauchst eine Skriptsprache, die die User-Eingaben verarbeitet und entsprechend ein Stylesheet einbidnet. Das kann JavaScript sein oder irgendetwas serverseitiges, zB. PHP.

      Geeignete Beispiele solltest du mittels einer Suchmaschine und dem Suchbegriff "Stylesswitcher" finden können.

    3. Hallo,

      Zengarden ist ein Projekt, da wird genau dieses gemacht. Vielleicht lohnt sich ein Blick in den Quelltext, wenn die Seite wieder erreichbar ist!

      mfg, Flo

      --
      sh:) fo:| ch:? rl:( br:^ n4:| ie:{ mo:| va:} de:> zu:} fl:{ ss:) ls:< js:|
  3. Hallo,

    Per JS: gib dem body eine class (z.b. c1) und dann vor jede Regel in style 1 "body.c1" setzen, und per JS die class mit c2 vertauschen und in style 2 entsprechend body.c2 als Prefix.

    ODER: (schlecht) Du machst 2 HTML-Dateien (wenn du weder PHP noch JS nutzen möchtest)

    ODER: php /js : einen cookie setzten und entsprechend das jeweiligen Styles einbinden (PHP: echo und if, JS: DOM-Funktionen oder document.write)

    mfg, Flo

    --
    sh:) fo:| ch:? rl:( br:^ n4:| ie:{ mo:| va:} de:> zu:} fl:{ ss:) ls:< js:|
  4. Danke für die vielen Antworten,
    da ich aber kein Javascript einsetzen möchte entscheide ich mich für die schlechteste Möglichkeit.
    Ich fertige zwei Seiten an.

    Jacquie

    1. Hallo

      Danke für die vielen Antworten,
      da ich aber kein Javascript einsetzen möchte entscheide ich mich für die schlechteste Möglichkeit.
      Ich fertige zwei Seiten an.

      Das ist wahrlich die schlechteste der Möglichkeiten. Einerseits könntest du die Möglichkeiten der Browser nutzen, verschiedene Stylesheets auszuwählen, allerdings kennen die meisten Nutzer diese Möglichkeit nicht. Andererseits kannst du, wie ebenfalls schon vorgeschlagen, ein serverseitiges Skript benutzen, um ein alternatives Stylesheet im Dokumentkopf einzufügen.

      Dazu müsstest du wissen, welche technischen Möglichkeiten dir von deinem Hoster angeboten werden. Meist ist das PHP, es kann aber auch Perl oder Python oder ... sein. Fertige Skripte solltest du bei einer Suche mit der von dir favorisierten Suchmaschine finden können.

      Tschö, Auge

      --
      Die deutschen Interessen werden am Liechtenstein verteidigt.
      Veranstaltungsdatenbank Vdb 0.3
    2. @@Jacquie:

      da ich aber kein Javascript einsetzen möchte entscheide ich mich für die schlechteste Möglichkeit.

      ??

      Beat hatte dir doch eine Möglichkeit ohne JavaScript genannt. Und zwar genau die, die für dein Anliegen vorgesehen ist.

      Es wenig sinnvoll, vorhandene Browserfunktionalität nachbauen zu wollen.

      Live long and prosper,
      Gunnar

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

        Beat hatte dir doch eine Möglichkeit ohne JavaScript genannt. Und zwar genau die, die für dein Anliegen vorgesehen ist.

        ... und die außer ein paar technikaffinen niemand kennt. Niemand (außerhalb der "Szene"), den ich kenne, kennt diese Funktionalität und ich maße mir an, diese Erfahrung auf Ottonormalsurfer zu projizieren. Die Browserfunktion kann sowas von da sein und Jacquie kann sie nutzen, fein, aber mit allerhöchster Wahrscheinlichkeit wird *so* niemand von der Funktion Kenntnis nehmen.

        Tschö, Auge

        --
        Die deutschen Interessen werden am Liechtenstein verteidigt.
        Veranstaltungsdatenbank Vdb 0.3
        1. @@Auge:

          ... und die außer ein paar technikaffinen niemand kennt. Niemand (außerhalb der "Szene"), den ich kenne, kennt diese Funktionalität und ich maße mir an, diese Erfahrung auf Ottonormalsurfer zu projizieren. Die Browserfunktion kann sowas von da sein und Jacquie kann sie nutzen, fein, aber mit allerhöchster Wahrscheinlichkeit wird *so* niemand von der Funktion Kenntnis nehmen.

          Wie ich schon an anderer Stelle schrieb:
          „Es ist Aufgabe der Browserhersteller, für ein intuitiv bedienbares GUI zu sorgen und wichtige Funktionalitäten nicht irgendwo zu verstecken.
          Es ist nicht die Aufgabe von Webseitenautoren, Browserfunktionen zu duplizieren.“

          Wenn es zu einer Seite alternative Stylesheets gibt, sollten Browser dies anzeigen, so wie sie (inzwischen) ja auch anzeigen, wenn es zu einer Seite einen Feed gibt.

          Stattdessen verstecken Firefox und Opera die Funktionalität im Menü unter „Ansicht“; IE, Safari und Chrome bieten sie gar nicht erst an. Da müssen die Browserhersteller nachbessern. Statt um zukünftige HTML-5-Spielereien könnten sie sich erstmal um das schon Bestehende kümmern.

          Es ist ein Jammer, wie viele Funktionalitäten von HTML/CSS ein kümmerliches Dasein fristen, weil die Browserhersteller versäumen, sie vernünftig zu implementieren.

          Live long and prosper,
          Gunnar

          --
          Das einzige Mittel, den Irrtum zu vermeiden, ist die Unwissenheit. (Jean-Jacques Rousseau)
          1. Wenn es zu einer Seite alternative Stylesheets gibt, sollten Browser dies anzeigen, so wie sie (inzwischen) ja auch anzeigen, wenn es zu einer Seite einen Feed gibt.
            Stattdessen verstecken Firefox und Opera die Funktionalität im Menü unter „Ansicht“; IE, Safari und Chrome bieten sie gar nicht erst an. Da müssen die Browserhersteller nachbessern. Statt um zukünftige HTML-5-Spielereien könnten sie sich erstmal um das schon Bestehende kümmern.

            Firefox verfolgt schon lange das Prinzip, dass an der GUI nur das erweitert wird, was sich gut "verkauft". Alles andere wird dann irgend welchen Plugin-Autoren überlassen. DAS finde ich betrüblich.
            Ich vermisse zum Beispiel auch den JS Button auf der GUI. Ein entsprechendes Plugin verweigert seinen Dienst.

            Es ist ein Jammer, wie viele Funktionalitäten von HTML/CSS ein kümmerliches Dasein fristen, weil die Browserhersteller versäumen, sie vernünftig zu implementieren.

            Es ist auch der Konflikt, dass mir eine GUI nur so lang wie breit sein kann, derweil die Anforderungen an die Browser stetig wachsen. Ich kenne wenig Software, welche einen solchen Leistungsumfang bereitstellen muss.

            Ich werde demnächst einen Testcase machen.
            Die bereits bestehende Funktionalität zu ergänzen und für den User etwas offensichtlicher darzustellen dürfte mit JS relativ einfach sein und auch frei von Barrieren.

            Man muss sich klar sein. Das Konzept von Alternate Stylesheets via dem rel="alternate stylesheet" Attribut hat Folgen, wie man seine Stylesheets organisiert. Man ist praktisch gezwungen, pro Medientyp sich auf ein einziges CSS-File zu beschränken.
            Auch Conditional Comment CSS Angaben dürfen nicht ausgelagert sein. Das heisst, man muss im HTML eine nur dem MSIE sichtbare ID setzen, welche dann im CSS-File angesprochen werden kann.

            Letztes Problem: Verfolgt man z.B. in einem CMS das Konzept von Userstylesheets, so müssen diese Stylesheets ja Kontextabhängig funktionieren, das heisst sie sprechen eine bestimmte ID an. Wechsle ich nun das Alternate Stylesheet, so ist dadurch die ID im HTML nicht automatisch ausgetauscht, damit ein anderer Sektor wirksam würde.

            Alternate Stylesheets haben also Grenzen, aber auch den Vorzug, dass sie einfach zu implementieren sind (sofern man mein obiges Design befolgt).

            mfg Beat

            --
            ><o(((°>           ><o(((°>
               <°)))o><                     ><o(((°>o
            Der Valigator leibt diese Fische
          2. Hallo

            [...]

            Es ist ein Jammer, wie viele Funktionalitäten von HTML/CSS ein kümmerliches Dasein fristen, weil die Browserhersteller versäumen, sie vernünftig zu implementieren.

            Ich wüsste nicht, wo ich dir widersprechen wollte/sollte/könnte. Das ändert aber leider nichts an der Tatsache, dass die Funktionalität, so, wie sie heute in die Browser implementiert ist (von der Verbreitung mal abgesehen), schlichtweg unbrauchbar ist. Wenn es also (heutzutage) ein Styleswitcher sein soll, muss der in der Website mit einem offensichtlicheren Mechanismus implementiert sein, was bestenfalls auf ein Formular/einen Link mit serverseitger Auswertung hinausläuft.

            Tschö, Auge

            --
            Die deutschen Interessen werden am Liechtenstein verteidigt.
            Veranstaltungsdatenbank Vdb 0.3
          3. „Es ist Aufgabe der Browserhersteller, für ein intuitiv bedienbares GUI zu sorgen und wichtige Funktionalitäten nicht irgendwo zu verstecken.

            Schön, du kannst gerne warten, bis die Browser bereit sind, und weiterjammern. Wir publizieren solange schonmal im Web und bauen Workarounds ein. Aber bitte halte uns nicht davon ab!

            Mathias

      2. Es wenig sinnvoll, vorhandene Browserfunktionalität nachbauen zu wollen.

        Man muss aber auch dazu sagen, dass zumindest im FF diese Funktionalität nur wenig sinnvoll ist. Das alternative Stylesheet wirkt sich ja nur auf die aktuelle Seite aus, d.h. du kannst nicht für eine komplette Site ein alternatives Stylesheet auswählen.

        Struppi.

        1. Man muss aber auch dazu sagen, dass zumindest im FF diese Funktionalität nur wenig sinnvoll ist. Das alternative Stylesheet wirkt sich ja nur auf die aktuelle Seite aus, d.h. du kannst nicht für eine komplette Site ein alternatives Stylesheet auswählen.

          Das, lieber Struppi, ist absolut richtig, aber keinen Grund den Mechanismus als Basis für mehr zu verwerfen.

          Es kommt mir häufiger vor, das ich ein CSS deaktivieren muss (darum kenne ich die FF Option). Sofern mir der User ein Alternate CSS liefern würde, würde es sich lohnen, auch nur für die eine Seite, die ich angenehm lesen möchte.

          mfg Beat

          --
          Woran ich arbeite:
          X-Torah
          ><o(((°>           ><o(((°>
             <°)))o><                     ><o(((°>o
          Der Valigator leibt diese Fische
          1. » Man muss aber auch dazu sagen, dass zumindest im FF diese Funktionalität nur wenig sinnvoll ist. Das alternative Stylesheet wirkt sich ja nur auf die aktuelle Seite aus, d.h. du kannst nicht für eine komplette Site ein alternatives Stylesheet auswählen.

            Das, lieber Struppi, ist absolut richtig, aber keinen Grund den Mechanismus als Basis für mehr zu verwerfen.

            Für mich schon, wenn ich ein alternatives Stylesheet anbieten möchte, dann sollte dieses auf allen Seiten wirken und nciht auf der einen, denn dann müßte der User ja bei jeder Seite immer wieder im Menü das CSS umwählen, was für mich der absolute GAU in Punkto Bedienbarkeit ist.

            Es kommt mir häufiger vor, das ich ein CSS deaktivieren muss (darum kenne ich die FF Option). Sofern mir der User ein Alternate CSS liefern würde, würde es sich lohnen, auch nur für die eine Seite, die ich angenehm lesen möchte.

            Das halte ich für ein reine Spielerei (nicht das auschalten vom CSS, das mache ich durchaus auch)

            Struppi.

        2. @@Struppi:

          Man muss aber auch dazu sagen, dass zumindest im FF diese Funktionalität nur wenig sinnvoll ist. Das alternative Stylesheet wirkt sich ja nur auf die aktuelle Seite aus, d.h. du kannst nicht für eine komplette Site ein alternatives Stylesheet auswählen.

          Punkt für dich.

          Zumindest ein halber. Wie bei einer Website mit automatischer Sprachvereinbarung ein „Gedächtnis“ für die manuelle Sprachauswahl sinnvoll ist, so auch bei einer Website mit mehreren Stylesheets. Wenn der Nutzer das Stylesheet wechselt, sollte dies in einem Cookie festgehalten werden und beim Anfordern einer anderen Seite der Site beachtet werden.

          Live long and prosper,
          Gunnar

          --
          Das einzige Mittel, den Irrtum zu vermeiden, ist die Unwissenheit. (Jean-Jacques Rousseau)
          1. Wenn der Nutzer das Stylesheet wechselt, sollte dies in einem Cookie festgehalten werden und beim Anfordern einer anderen Seite der Site beachtet werden.

            Das Wechseln des Stylesheets bekommt "die Seite" ja nicht mal mit. Also ist auch dieser Weg nicht gangbar.

            Struppi.

            1. @@Struppi:

              Das Wechseln des Stylesheets bekommt "die Seite" ja nicht mal mit. Also ist auch dieser Weg nicht gangbar.

              Oops, mein Hirn ist noch im Wochenende.

              Ja, dann ist wohl nur der Weg mit einem Stylesheetwechsler auf den Seiten gangbar.

              Live long and prosper,
              Gunnar

              --
              Das einzige Mittel, den Irrtum zu vermeiden, ist die Unwissenheit. (Jean-Jacques Rousseau)
              1. Ja, dann ist wohl nur der Weg mit einem Stylesheetwechsler auf den Seiten gangbar.

                Leider. Ich fände den Weg über das Menü auch nicht schlecht.

                Struppi.

            2. Hallo

              »» Wenn der Nutzer das Stylesheet wechselt, sollte dies in einem Cookie festgehalten werden und beim Anfordern einer anderen Seite der Site beachtet werden.

              Das Wechseln des Stylesheets bekommt "die Seite" ja nicht mal mit. Also ist auch dieser Weg nicht gangbar.

              Es wäre ja genug, wenn sich der Browser das merken würde und die folgend aufgerufenen Seiten einer Domain mit dem zuletzt gewählten Stylesheet anzeigen würde. Meiner Meinung nach sollte es *nur* so funktionieren.

              Tschö, Auge

              --
              Die deutschen Interessen werden am Liechtenstein verteidigt.
              Veranstaltungsdatenbank Vdb 0.3
              1. Hi,

                Es wäre ja genug, wenn sich der Browser das merken würde und die folgend aufgerufenen Seiten einer Domain mit dem zuletzt gewählten Stylesheet anzeigen würde. Meiner Meinung nach sollte es *nur* so funktionieren.

                Natürlich. Jeder halbwegs vernünftige Mensch wird das wohl so sehen - oder zumindest beides implementieren: Alternatives Stylesheet für aktuelle Seite + Alternatives Stylesheet für alle Seiten.

                In diesem Punkt waren die Browserprogrammierer halt nicht "vernünftig". Und obendrein haben noch einige "geschlampt". War wohl nicht wichtig genug das Thema ...

                Gruß, Cybaer

                --
                Man muß viel gelernt haben, um über das, was man nicht weiß, fragen zu können.
                (Jean-Jacques Rousseau, Philosoph u. Schriftsteller)
                1. Natürlich. Jeder halbwegs vernünftige Mensch wird das wohl so sehen - oder zumindest beides implementieren: Alternatives Stylesheet für aktuelle Seite + Alternatives Stylesheet für alle Seiten.

                  Was sind "alle" Seiten? SelfHTML z.B. verteilt sich auf mehrere Domains, umgekehrt können auf einer Domain Seiten erreichbar sein, die nichts miteinander zu tun haben.

                  In diesem Punkt waren die Browserprogrammierer halt nicht "vernünftig". Und obendrein haben noch einige "geschlampt". War wohl nicht wichtig genug das Thema ...

                  Nein, sie haben die Philosophie von HTML umgesetzt - es ist *ein* Dokument, welches für sich steht (und eventuell auf andere verweist).

                  Natürlich könnte der Browser raten bzw. Hinweise nutzen, z.B. gleiche Stylesheets (gleicher Titel, gleiche URL). Das hielte ich für einen halbwegs gangbaren Weg.

                  --
                  Reden ist Silber, Schweigen ist Gold, meine Ausführungen sind Platin.
                  Self-Code: sh:( ch:? rl:( br:> n4:( ie:{ mo:) va:) de:> zu:} fl:| ss:| ls:~ js:|
                  1. Hi,

                    Was sind "alle" Seiten? SelfHTML z.B. verteilt sich auf mehrere Domains, umgekehrt können auf einer Domain Seiten erreichbar sein, die nichts miteinander zu tun haben.

                    Darüber kann man diskutieren. Oder besser: als Standard definieren. ;-)

                    Möglich wäre z.B. innerhalb einer Domain + Subdomains. Eine andere Möglichkeit wäre, den Namen eines Alt. Stylesheets auszuwählen, und dann *immer* den Namen zu verwenden, selbst wenn er auf ganz unterschiedlichen Sites verwendet wird.

                    »» In diesem Punkt waren die Browserprogrammierer halt nicht "vernünftig". Und obendrein haben noch einige "geschlampt". War wohl nicht wichtig genug das Thema ...
                    Nein, sie haben die Philosophie von HTML umgesetzt - es ist *ein* Dokument, welches für sich steht (und eventuell auf andere verweist).

                    Ja, und um Daten zw. Dokumenten auszutauschen, hat man Cookies erfunden.

                    Will heißen: So wie die Alt. Stylesheets umgeetzt wurden (sofern sie überhaupt fehlerfrei umgesetzt wurden), kann das "Ändern mit Gültigkeit nur im aktuellen Dokument" ja nett sein, aber es ist nicht praktisch, bzw. sinnvoll, weil die Eisntellungen überlicherweise eben nicht pro Dokument geändert werden sollen - genausowenig wie es nicht üblich ist, in jeder Seite eine eigenes, unterschiedliches CSS zu integrieren.

                    Wenn man also Alt. Stylesheets als Webautor nutzen will, ist man ohnehin gezwungen, einen eigenen Stylesheetwechsler zu verwenden. Der Nutzwert der eingebauten Variante tendiert IMHO gegen null ...

                    Natürlich könnte der Browser raten bzw. Hinweise nutzen, z.B. gleiche Stylesheets (gleicher Titel, gleiche URL).

                    Z.B. Und z.B. auch gerne dokumentenbasiert und "sitebasiert" (oder was auch immer) für den User zur Auswahl.

                    Das hielte ich für einen halbwegs gangbaren Weg

                    Wenn man die hier fehlerhaften Webkit-Browser mal einfach ignoriert, könnte der Autor via Interrupt prüfen, ob der Benutzer das Stylesheet gewechselt hat. Wenn dies der Fall ist, könnte man ihn fragen, ob das für alle Seiten gelten soll, und seine Entscheidung im Cookie sichern.

                    Noch besser wäre ein eigener Event.

                    Und noch besser IMHO eine komplett eigene Stylesheetverwaltung - ggf. mit zusätzlicher Überprüfung der Alt. Styles.

                    Gruß, Cybaer

                    --
                    Man muß viel gelernt haben, um über das, was man nicht weiß, fragen zu können.
                    (Jean-Jacques Rousseau, Philosoph u. Schriftsteller)
                    1. könnte der Autor via Interrupt prüfen, ob der Benutzer das Stylesheet gewechselt hat. Wenn dies der Fall ist, könnte man ihn fragen, ob das für alle Seiten gelten soll, und seine Entscheidung im Cookie sichern.

                      Noch besser wäre ein eigener Event.

                      Naja, so gehts auch:

                      <!DOCTYPE html>  
                      <html>  
                      <head>  
                      <title></title>  
                      <link rel="stylesheet" href="a.css" title="a">  
                      <link rel="alternate stylesheet" href="b.css" title="b">  
                      </head>  
                      <body>  
                        
                      <p id="a">a</p>  
                      <p id="b">b</p>  
                        
                      <p id="status"></p>  
                        
                      <script>  
                      [code lang=javascript]window.setInterval(function () {  
                      	var ss = document.styleSheets, output = "";  
                      	for (var i = 0, s; s = ss.item(i); i++) {  
                      		output += s.href + "  " + (!s.disabled ? "aktiv" : "inaktiv") + "<br>";  
                      	}  
                      	document.getElementById("status").innerHTML = output;  
                      }, 500);
                      

                      </script>

                      </body>
                      </html>[/code]

                      Mathias

                  2. Hallo

                    »» Natürlich. Jeder halbwegs vernünftige Mensch wird das wohl so sehen - oder zumindest beides implementieren: Alternatives Stylesheet für aktuelle Seite + Alternatives Stylesheet für alle Seiten.

                    Was sind "alle" Seiten?

                    Alle Seiten für die das/die jeweilige(n) Stylesheet(s) als Möglichkeiten angegeben sind.

                    »» In diesem Punkt waren die Browserprogrammierer halt nicht "vernünftig". Und obendrein haben noch einige "geschlampt". War wohl nicht wichtig genug das Thema ...

                    Nein, sie haben die Philosophie von HTML umgesetzt - es ist *ein* Dokument, welches für sich steht (und eventuell auf andere verweist).

                    Wer redet hier von HTML-Dokumenten? Es ist *ein* Stylesheet (oder eben mehrere), das (im Normalfall) für mehrere Dokumente gilt und in ihnen referenziert ist. Wo ist das Problem, dies im Browser auch für die als Alternativen referenzierten Stylesheets anzuwenden und ein eventuell vom Benutzer ausgewähltes Alternativstylesheet für alle Dokumente, in denen es referenziert ist, zu benutzen?

                    Natürlich könnte der Browser raten bzw. Hinweise nutzen, z.B. gleiche Stylesheets (gleicher Titel, gleiche URL). Das hielte ich für einen halbwegs gangbaren Weg.

                    Wo soll das hinführen? Wir benutzen für alle Seiten, in denen ein bestimmtes Stylesheet wiedererkannt werden soll den selben Titel oder gar die selbe URL? Das ist nicht im mindesten gangbar.

                    Tschö, Auge

                    --
                    Die deutschen Interessen werden am Liechtenstein verteidigt.
                    Veranstaltungsdatenbank Vdb 0.3
                    1. »» Natürlich. Jeder halbwegs vernünftige Mensch wird das wohl so sehen - oder zumindest beides implementieren: Alternatives Stylesheet für aktuelle Seite + Alternatives Stylesheet für alle Seiten.

                      Was sind "alle" Seiten?

                      Alle Seiten für die das/die jeweilige(n) Stylesheet(s) als Möglichkeiten angegeben sind.

                      Siehe unten, das ist ja auch mein Lösungsvorschlag.

                      »» In diesem Punkt waren die Browserprogrammierer halt nicht "vernünftig". Und obendrein haben noch einige "geschlampt". War wohl nicht wichtig genug das Thema ...

                      Nein, sie haben die Philosophie von HTML umgesetzt - es ist *ein* Dokument, welches für sich steht (und eventuell auf andere verweist).

                      Wer redet hier von HTML-Dokumenten? Es ist *ein* Stylesheet (oder eben mehrere), das (im Normalfall) für mehrere Dokumente gilt und in ihnen referenziert ist.

                      Welche von den CSS-Ressourcen aber Stylesheet und welche alternatives Stylesheet sind, wird aber immer vom jedem HTML-Dokument bestimmt. Und da HTML-Dokumente für sich stehen und derzeit keine Standards zum Zusammenfassen existieren, ist es eben nicht so leicht, auch wenn eine technische Lösung dennoch existiert.

                      Wo ist das Problem, dies im Browser auch für die als Alternativen referenzierten Stylesheets anzuwenden und ein eventuell vom Benutzer ausgewähltes Alternativstylesheet für alle Dokumente, in denen es referenziert ist, zu benutzen?

                      Natürlich könnte der Browser raten bzw. Hinweise nutzen, z.B. gleiche Stylesheets (gleicher Titel, gleiche URL). Das hielte ich für einen halbwegs gangbaren Weg.

                      Wo soll das hinführen? Wir benutzen für alle Seiten, in denen ein bestimmtes Stylesheet wiedererkannt werden soll den selben Titel oder gar die selbe URL? Das ist nicht im mindesten gangbar.

                      Titel und URL beziehen sich hier auf "gleiche Stylesheets", nicht auf HTML-Dokumente:
                      <link href="URL" title="Titel" type="text/css" rel="stylesheet">
                      Die Lösung, die du mir hier präsentierst, habe ich also selbst vorgeschlagen.

                      --
                      Reden ist Silber, Schweigen ist Gold, meine Ausführungen sind Platin.
                      Self-Code: sh:( ch:? rl:( br:> n4:( ie:{ mo:) va:) de:> zu:} fl:| ss:| ls:~ js:|
                      1. Hallo

                        Welche von den CSS-Ressourcen aber Stylesheet und welche alternatives Stylesheet sind, wird aber immer vom jedem HTML-Dokument bestimmt.

                        Stimmt, das wäre Aufgabe des Anbieters/Entwicklers es sauber vorzugeben.

                        Titel und URL beziehen sich hier auf "gleiche Stylesheets", nicht auf HTML-Dokumente:
                        <link href="URL" title="Titel" type="text/css" rel="stylesheet">

                        Dann führe mich nicht mit "(gleicher Titel, gleiche URL)" auf den Holzweg. ;-)

                        Einer Vorgabe des Benutzers zu folgen (wenn das gewählte Stylesheet auch im neu aufgerufenen Dokument auf der gleichen Domain referenziert ist) sollte für einen Browser ja grundsätzlich kein Problem darstellen. Dabei sollte es mMn auch egal sein, ob das auf einer Seite als alternativ ausgewählte Stylesheet auf einer später aufgerufenen Seite als alternativ markiert ist. Ist es auf der letzteren Seite referenziert (ob alternativ oder "normal"), sollte es, so ausgewählt, vom Browser benutzt werden. Ob dieser Fall praxisrelevant ist, ist eine andere Sache, man sollte ja meinen, dass diese Angaben für ein Angebot gleichlautend notiert werden (auch wenn man ja nie wissen kann).

                        Tschö, Auge

                        --
                        Die deutschen Interessen werden am Liechtenstein verteidigt.
                        Veranstaltungsdatenbank Vdb 0.3
      3. Hi,

        Es wenig sinnvoll, vorhandene Browserfunktionalität nachbauen zu wollen.

        Neben Struppis berechtigtem Aufwand (auch IMHO *das* Totschlagargument gegen Alternative Stylesheets ohne JS-Unterstützung), ist die von dir beschriebene Funktionalität sicherlich wünschenswerterweise in allen DOM-Browsern verfügbar, theoretisch ist sie es auch, faktisch ist sie es allerdings nicht.

        Gruß, Cybaer

        --
        Man muß viel gelernt haben, um über das, was man nicht weiß, fragen zu können.
        (Jean-Jacques Rousseau, Philosoph u. Schriftsteller)
  5. hi,

    ich möchte gerne den Besuchern die Möglichkeit geben, meine Seite in zwei verschiedenen Ansichten zu betrachten. Dazu habe ich zwei verschiedene externe CSS - Dateien geschrieben. Nun soll der Besucher die Möglichkeit haben, auf einen Link zu klicken um damit das Aussehen zu ändern. Aber ich weiß nicht wie ich die zweite CSS - Datei verlinken muß.

    Ich hatte sowas ähnliches mit SESSIONs nachgebaut, ist recht einfach:

    • erstelle ein Submit-Button, der bei Klick eine SESSION anlegt (kein Link)
    • je nach dem, welche SESSION gesetzt ist, tauschst du im HEAD das <link rel="stylesheet"> aus

    Hat den Nachteil, dass du das Cachen unterbinden musst, da der Browser andernfalls durcheinander kommt.
    Aus Cache-Gründen verzichte ich daher auf diese spielerei.

    Hat aber den Vorteil, dass du keine Alternate-Sheets anbieten musst, da diese auch einen Request bilden.

    Wenn du mit SESSIONs nicht klar kommst, gib bescheid, dann kann ich dir ein Beispiel posten.

    mfg

    --
    echo '<pre>'; var_dump($Malcolm_Beck`s); echo '</pre>';
    array(2) {
      ["SELFCODE"]=>
      string(74) "ie:( fl:) br:> va:? ls:? fo:) rl:| n4:# ss:{ de:? js:} ch:? sh:( mo:? zu:("
      ["Meaningful"]=>
      string(?) "Der Sinn des Lebens ist deinem Leben einen Sinn zu geben"
    }
    1. Hallo

      »» ich möchte gerne den Besuchern die Möglichkeit geben, meine Seite in zwei verschiedenen Ansichten zu betrachten. Dazu habe ich zwei verschiedene externe CSS - Dateien geschrieben. Nun soll der Besucher die Möglichkeit haben, auf einen Link zu klicken um damit das Aussehen zu ändern. Aber ich weiß nicht wie ich die zweite CSS - Datei verlinken muß.

      Ich hatte sowas ähnliches mit SESSIONs nachgebaut, ist recht einfach:

      • erstelle ein Submit-Button, der bei Klick eine SESSION anlegt (kein Link)
      • je nach dem, welche SESSION gesetzt ist, tauschst du im HEAD das <link rel="stylesheet"> aus

      Das ist schon nicht mal mehr eine Kanone, nein, du schießt mit interkontinentalen, mit Mehrfachsprengköpfen ausgerüsteten Raketen auf die niedlichen und  bedrohten Vögelchen. Zudem schießt du nicht mal gezielt. Was ist, wenn die Session abgelaufen ist, die Sessiondatei dem Garbage Collector anheim fiel?

      Schicke dem Besucher einen Keks (ich meine aber keinen Sessioncookie). Wenn er ihn partout nicht haben will, bitteschön, dann eben nicht. Nimmt er ihn, kannst du ihn auch längerfristig wiedererkennen.

      Tschö, Auge

      --
      Die deutschen Interessen werden am Liechtenstein verteidigt.
      Veranstaltungsdatenbank Vdb 0.3
      1. hi,

        Das ist schon nicht mal mehr eine Kanone, nein, du schießt mit interkontinentalen, mit Mehrfachsprengköpfen ausgerüsteten Raketen auf die niedlichen und  bedrohten Vögelchen. Zudem schießt du nicht mal gezielt.

        I love the American way ;)

        Was ist, wenn die Session abgelaufen ist, die Sessiondatei dem Garbage Collector anheim fiel?

        Dein Einwand ist berechtigt, Cookies wäre die Sinnvollere Alternative.

        Schicke dem Besucher einen Keks (ich meine aber keinen Sessioncookie). Wenn er ihn partout nicht haben will, bitteschön, dann eben nicht. Nimmt er ihn, kannst du ihn auch längerfristig wiedererkennen.

        FULL ACK!

        Wobei ich weiterhin auf so eine spielerei verzichte, frei nach ChrisB:

        entwerfe *ein* Stylesheet, das "keine Wuensche offen" laesst.

        mfg

        --
        echo '<pre>'; var_dump($Malcolm_Beck`s); echo '</pre>';
        array(2) {
          ["SELFCODE"]=>
          string(74) "ie:( fl:) br:> va:? ls:? fo:) rl:| n4:# ss:{ de:? js:} ch:? sh:( mo:? zu:("
          ["Meaningful"]=>
          string(?) "Der Sinn des Lebens ist deinem Leben einen Sinn zu geben"
        }
        1. Hallo

          »» Das ist schon nicht mal mehr eine Kanone, nein, du schießt mit interkontinentalen, mit Mehrfachsprengköpfen ausgerüsteten Raketen auf die niedlichen und  bedrohten Vögelchen. Zudem schießt du nicht mal gezielt.

          I love the American way ;)

          Ahh, der war das. :-)

          Wobei ich weiterhin auf so eine spielerei verzichte, frei nach ChrisB:

          »» entwerfe *ein* Stylesheet, das "keine Wuensche offen" laesst.

          Joah, fällt definitiv unter Spielerei. Aber das muss ja nicht von vornherein schlecht sein. Es ist ein Angebot und wenn es gut gemacht ist, ist es ein Beispiel sowohl für die Möglichkeiten der Technik als auch für die eigenen Fähigkeiten.

          Tschö, Auge

          --
          Die deutschen Interessen werden am Liechtenstein verteidigt.
          Veranstaltungsdatenbank Vdb 0.3
          1. @@Auge:

            Joah, fällt definitiv unter Spielerei. Aber das muss ja nicht von vornherein schlecht sein. Es ist ein Angebot und wenn es gut gemacht ist, ist es ein Beispiel sowohl für die Möglichkeiten der Technik als auch für die eigenen Fähigkeiten.

            Scheinbar ist es das.

            Live long and prosper,
            Gunnar

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

            » I love the American way ;)

            Ahh, der war das. :-)

            Nenn mich Malcolm Bush ;)

            Joah, fällt definitiv unter Spielerei. Aber das muss ja nicht von vornherein schlecht sein. Es ist ein Angebot und wenn es gut gemacht ist, ist es ein Beispiel sowohl für die Möglichkeiten der Technik als auch für die eigenen Fähigkeiten.

            Ich möchte jetzt nicht das Gesamte Posting von ChrisB hier rein kopieren ;)
            Klar, wenn jemand es drauf hat, kann er es zeigen, aber Chris hat es in seinem Posting ja ziemlich auf den Punkt gebracht.

            Ich war zu der zeit, wo er dieses Posting abgesetzt hatte auch dabei, verschiedene Styles zu erstellen, um es dem User anbieten zu können; nach diesem erschütternden Post habe ich es sein lassen ;)

            Wobei ein Styleswitch für eine Mobile-Version einer Seite dann wieder durchaus Sinnvoll ist.

            mfg

            --
            echo '<pre>'; var_dump($Malcolm_Beck`s); echo '</pre>';
            array(2) {
              ["SELFCODE"]=>
              string(74) "ie:( fl:) br:> va:? ls:? fo:) rl:| n4:# ss:{ de:? js:} ch:? sh:( mo:? zu:("
              ["Meaningful"]=>
              string(?) "Der Sinn des Lebens ist deinem Leben einen Sinn zu geben"
            }
            1. Hallo

              Ich möchte jetzt nicht das Gesamte Posting von ChrisB hier rein kopieren ;)

              Nunja, kenn' ich (bzw. habe ich wiedererkannt), schließlich hat er mir geantwortet. Und wenn ich mich an den Thread noch erinnert hätte, hätte ich dir auch mit einem Link von dort kommen können. So musste ich mich halt wiederholen. :-)

              Wobei ein Styleswitch für eine Mobile-Version einer Seite dann wieder durchaus Sinnvoll ist.

              Besser wäre es natürlich, das serverseitig zu erledigen (Propagierung eigenen Inhalts (z.B. mobil.example.com) bzw. Redirect dorthin, falls sich der Inhalt unterscheiden sollte (weniger/keine Bilder etc. pp.)), wenn es denn zuverlässig funktionierte (was es bezüglich "zuverlässig" (meiner Kenntnis nach) leider nur unwesentlich besser als die Unterstützung von media="handheld" bei CSS tut). Insofern kann ein Styleswitch für diesen Zweck sinnvoll sein, vorausgesetzt, das benutzte Gerät akzeptiert Cookies (wenn wir davon ausgehen, dass das Problem der Wiedererkennung mit dem Einsatz selbiger gelöst wird).

              Tschö, Auge

              --
              Die deutschen Interessen werden am Liechtenstein verteidigt.
              Veranstaltungsdatenbank Vdb 0.3
              1. hi,

                Nunja, kenn' ich (bzw. habe ich wiedererkannt), schließlich hat er mir geantwortet. Und wenn ich mich an den Thread noch erinnert hätte, hätte ich dir auch mit einem Link von dort kommen können. So musste ich mich halt wiederholen. :-)

                Ich musste auch erstmal diesen Thread finden -- Bei diesem Thema fällt mir immer dieses Posting ein ;)

                Besser wäre es natürlich, das serverseitig zu erledigen (Propagierung eigenen Inhalts (z.B. mobil.example.com) bzw. Redirect dorthin, falls sich der Inhalt unterscheiden sollte (weniger/keine Bilder etc. pp.)), wenn es denn zuverlässig funktionierte (was es bezüglich "zuverlässig" (meiner Kenntnis nach) leider nur unwesentlich besser als die Unterstützung von media="handheld" bei CSS tut). Insofern kann ein Styleswitch für diesen Zweck sinnvoll sein, vorausgesetzt, das benutzte Gerät akzeptiert Cookies (wenn wir davon ausgehen, dass das Problem der Wiedererkennung mit dem Einsatz selbiger gelöst wird).

                Das Problem mit Cookies könnte man aber noch mit einer Subdomain hervorragend abfangen -- mir z. B. wäre dass lieber, als irgendwelche Queries in der URI mitzuschleppen, aber klar, dass grösste Problem ist immer noch die eindeutige erkennung von Mobilegeräten, der rest ist ja nur noch ein bisschen programmieren.

                Ich habe auf meiner Seite diese Variante,ob es viel bringt, kann ich aber nicht sagen; nur das es funktioniert.

                mfg

                --
                echo '<pre>'; var_dump($Malcolm_Beck`s); echo '</pre>';
                array(2) {
                  ["SELFCODE"]=>
                  string(74) "ie:( fl:) br:> va:? ls:? fo:) rl:| n4:# ss:{ de:? js:} ch:? sh:( mo:? zu:("
                  ["Meaningful"]=>
                  string(?) "Der Sinn des Lebens ist deinem Leben einen Sinn zu geben"
                }