Helmut123: Stylesheet switcher für Handheld

Liebe Kenner und Könner,

ich beiße mir gerade die Zähne aus der Möglichkeit, für Handys ein eigenes stylesheet zur Auswahl anzubieten, wenn das Handy von sich aus das media="screen" css-Layout auswählt.

Dazu habe ich mich auf der Seite von SHTML kundig gemacht und die dortigen Anweisungen befolgt, die ich im Anschluss noch einmal hier rein kopiere.
(http://aktuell.de.selfhtml.org/artikel/css/mobile-endgeraete/)

-----------------------------------------------------------------
Manuelle Auswahl durch den Benutzer

Definition der Stylesheets im Seitenkopf (<head>):

<link rel="stylesheet" type="text/css" href="screen.css"   media="screen"   />
<link rel="stylesheet" type="text/css" href="handheld.css" media="handheld" />

Links zur manuellen Auswahl des Stylesheets im Body (<body>) - Um dieses Stück Quelltext handelt es sich m.E. hauptsächlich):

<div id="header">
  <?php
  if(empty($style) || $style == 'default') {
    echo '<span id="nopocket">Style ändern: <a href="?handheld">Pocket-Version</a>
      für PDA und Handhelds. </span>';
  }
  ?>
  <span id="pocket">Style ändern: <a href="?default">Desktop-Version</a></span>
</div>

Angaben in screen.css:

#pocket   { display:none; }

Angaben in handheld.css:

#pocket   { display:inline; }
#nopocket { display:none; }

----------------------------------------------------------------------

Bei mir zeigt sich dann auf der Seite, wenn der Browser das stylesheet media="screen" geladen hat, Folgendes:

Style ändern: Pocket-Version für PDA und Handhelds. '; } ?>

Wenn ich das richtig verstehe, bedeutet das, dass die php-Anweisungen nicht richtig verarbeitet werden. Außerdem ist der unterstrichene Link "Pocket-Version" stumm. Obwohl im browser der Link "=handheld" angezeigt wird, passiert nichts, das Layout bleibt in der Darstellung "screen".

Habe ich da einen Fehler gemacht oder der Server oder ist in der Anleitung ein Fehler?

----------------------------------------------------------------------

Getestet auf einem  PC mit windows XP und einem xampp-Server

Oje, ich sehe, dass das eine etwas umständliche Darstellung geworden ist. Ich hoffe trotzdem, dass sich jemand findet und mir weiterhelfen kann. Dank im voraus!

Helmut123

  1. Sofern Du ohnehin Zugriff auf den Server hast, kannst Du die Unterscheidung beim CSS dort treffen und zwar mit einer RegExp auf den UserAgent.

    Gruß, LX

    --
    RFC 1925, Satz 2: Egal, wie fest man schiebt, ganz gleich, wie hoch die Priorität ist, man kann die Lichtgeschwindigkeit nicht erhöhen.
    1. Grüße,

      Sofern Du ohnehin Zugriff auf den Server hast, kannst Du die Unterscheidung beim CSS dort treffen und zwar mit einer RegExp auf den UserAgent.

      böser Junge, böser!

      ich will auch mit OperaMobile noch den normalen layout sehen, es nervt tierisch wenn einem das kastrierte mobile aufgedrückt wird.

      layout sollte kein zwang sein, biete lieber als weiche ein Link an.
      MFG
      bleicher

      --
      __________________________-

      FirefoxMyth
      1. Danke für die zwei kurzen Hinweise. Aber das ist ja mein weiterhin ungelöstes Problem. Mit den kompizierten Anweisungen aus selfhtml wollte ich eine Weiche bauen. Aber die funktioniert aus mir unerklärlichen Gründen nicht.

        Kann mir jemand das erklären?
        Oder eine andere Möglichkeit aufzeigen?

        Beste Grüße von Helmut123

        ------------------------------------------------------------------------

        Grüße,

        Sofern Du ohnehin Zugriff auf den Server hast, kannst Du die Unterscheidung beim CSS dort treffen und zwar mit einer RegExp auf den UserAgent.

        böser Junge, böser!

        ich will auch mit OperaMobile noch den normalen layout sehen, es nervt tierisch wenn einem das kastrierte mobile aufgedrückt wird.

        layout sollte kein zwang sein, biete lieber als weiche ein Link an.
        MFG
        bleicher

        1. Grüße,

          1. es ist höfflich die irrelevanten teile des vorpostings NICHT zu zitieren, lösch die vllt - zeigt minimale mühe deinerseits.

          2)dafür müsste man dein wunschalyout kennen - vllt muss man ja gar nix anpassen, falls Text brav in <p>s sitzt etc. dürfte es auch für mobile geräte kein Problem darstellen, dann musst du auch nix anpassen.
          gib uns ein Link

          niemals
          niemals
          niemals darfst du kontent browserspezifisch liefern. das läuft fast sicher nach dem nächsten browserupdate total in die Hose. das ist nur für ie6 erlaubt, nicht für Browser!
          MFG
          bleicher

          --
          __________________________-

          FirefoxMyth
          1. @bleicher: bitte akzeptiere, dass im mobilen Umfeld die Regeln des Webs und der Browser, die wir auf dem Desktop kennen, oft nicht funktionieren.

            Content browserspezifisch zu liefern sollte zwar verboten sein - aber wie bei allen Verboten ist der Sinn desselben darin begründet, dass man besser darüber nachdenkt, bevor man es bricht.

            Gruß, LX

            --
            RFC 1925, Satz 2: Egal, wie fest man schiebt, ganz gleich, wie hoch die Priorität ist, man kann die Lichtgeschwindigkeit nicht erhöhen.
            1. Liebe Freunde,

              Eure Diskussion ist ja im Prinzip recht interessant. Über diese Dinge habe ich auch selber schon nachgedacht. Aber auf meine Frage zu einer konkreten Lösung, wie ich ein alternatives stylesheet für kleine Bildschirme (z.B. Handys) anbieten kann, warte ich noch hoffnungsvoll auf Vorschläge.

              Mittlerweile würde mich eine Lösung interessieren, bei der der Nutzer ein stylesheet frei auswählen kann, für den Ausdruck auf Papier aber ein (zumindest bevorzugtes Drucker-Stylesheet) auswählen kann.

              Gruß ins Netz und nichts für ungut

              Helmut123

              1. Liebe Freunde,

                Eure Diskussion ist ja im Prinzip recht interessant. Über diese Dinge habe ich auch selber schon nachgedacht. Aber auf meine Frage zu einer konkreten Lösung, wie ich ein alternatives stylesheet für kleine Bildschirme (z.B. Handys) anbieten kann, warte ich noch hoffnungsvoll auf Vorschläge.

                Mittlerweile würde mich eine Lösung interessieren, bei der der Nutzer ein stylesheet frei auswählen kann, für den Ausdruck auf Papier aber ein (zumindest bevorzugtes Drucker-Stylesheet) automatisch angeboten bekommt.

                Gruß ins Netz und nichts für ungut

                Helmut123

      2. Das sehe ich anders (und ich habe mich in den letzten Monaten sehr intensiv mit dem Thema mobile auseinandersetzen dürfen).

        Die Schlussfolgerung, zu der ich inzwischen gelangt bin, besteht darin, dass es tatsächlich schlecht ist, Inhalte auszublenden. Eine veränderte, dem kleineren Display angemessene Darstellung halte ich aber für durchaus sinnvoll - unabhängig davon, ob man diese nun durch Media Queries oder entsprechend angepaßte Stylesheets erreicht.

        Die "normalen" Layouts sind in den meisten Fällen im mobilen Umfeld schlechter nutzbar als vernünftig angepaßte Layouts. Den schlechten Ruf der angepaßten mobilen Seiten sehe ich darin begründet, dass häufig aus Erwägungen der Wartbarkeit darauf verzichtet wird, diese vernünftig und nutzbar zu gestalten.

        Mit etwas Erfahrung (und relativ hohem Testaufwand) kann man Layouts herstellen, die im mobilen Bereich den Desktop-Layouts überlegen sind, ohne dem Nutzer Informationen vorzuenthalten.

        Gruß, LX

        --
        RFC 1925, Satz 2: Egal, wie fest man schiebt, ganz gleich, wie hoch die Priorität ist, man kann die Lichtgeschwindigkeit nicht erhöhen.