Fabian: Bildschirmauflösung an Server melden ?

Hallo,

kann mann irgendwie die Bildschirmauflösung (vielleicht emittelt per Javascript) an den Server zurückmelden um dann per PHP eine auf diese angepasste Webseite aufzubauen?

Viele Grüsse,
Fabian

  1. Hi,

    kann mann irgendwie die Bildschirmauflösung (vielleicht emittelt per Javascript) an den Server zurückmelden um dann per PHP eine auf diese angepasste Webseite aufzubauen?

    falls Du eine Information, egal welche, ermitteln kannst, kannst Du sie auch beim nächsten Request an den Server übermitteln. Nur was soll das hier bringen? Die Bildschirmauflösung ist für 0% aller denkbaren Fälle für Dich von irgend einem wie auch immer gearteten Nutzen.

    Cheatah

    --
    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: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Immer, wenn man sein Design/Layout für verschiedene Auflösungen anpassen muss, sollte man das Konzept überdenken... ;)

      1. Immer, wenn man sein Design/Layout für verschiedene Auflösungen anpassen muss, sollte man das Konzept überdenken... ;)

        Ja, mag sein, aber hier geht es leider nicht anders.
        Ich mache eine Spezialanwendung, ein Dateiverglleichsprogramm, das ich aber nicht nativ implementieren möchte, sondern per PHP/HTTP. Da es nur für gesonderte "interen" Benutzer ist, kann ich ihnen auch den Browser "vorschreiben". :-)

        Es ist leider nicht möglich, mit HTML einen Text von 3000 Zeichen einzelne Zeichen im Fliesstext dynamisch zu ändern, z.B. den Hintergrund gelb zu hinterlegen. Das stellt jeden Browser vor enorme Rechenprobleme (siehe mein gestriger Thread im Forum).
        Also muss ich jedes einzelne Zeichen in einen <DIV> packen, damit sich der Browser nur um dieses einzelne Zeichen kümmert und die anderen Zeichen eben nicht mehr beachtet.

        Um dennoch ein Fliesstext-Layout zu erhalten muss ich die <DIV>'s absolut positionieren (da sonst Zeilenumbruch). Dazu brauche ich aber die Bildschirmauflösung.

        Ich gebe zu, dass HTML und ein Browser für solche Anwenundgen nicht gedacht sind, aber ich will von der nativen Programmierung weg. Ausserdem ist PHP so schön einfach und portabel und mein Programm von jeder PLattform aus mit einem Browser einfach nutzbar.

        Viele Grüsse,
        Fabian

        1. hi,

          Also muss ich jedes einzelne Zeichen in einen <DIV> packen, damit sich der Browser nur um dieses einzelne Zeichen kümmert und die anderen Zeichen eben nicht mehr beachtet.

          Warum Div, warum kein Span, wenn es sich jeweils nur um ein einzelnes Zeichen handelt?

          Um dennoch ein Fliesstext-Layout zu erhalten muss ich die <DIV>'s absolut positionieren (da sonst Zeilenumbruch).

          Was soll das heißen?
          Absolute Positionierung und Fließtext, das widerspricht sich schon von Anfang an.

          gruß,
          wahsaga

          --
          /voodoo.css:
          #GeorgeWBush { position:absolute; bottom:-6ft; }
          1. Warum Div, warum kein Span, wenn es sich jeweils nur um ein einzelnes Zeichen handelt?

            Weil der Browser, -wie ich schon sagte- dann leistingsmässig in die Knie geht, wenn Du das Zeichen so verändern willst, dass auch der restliche Fliesstext verändert werden könnte. Dies ist der Fall z.B. beim Fettdruck (fontWeight), bei dem sich die Breits verändert und der restliche Fliesstext verscoben werden muss, oder auch beim backgroundColor.

            Was soll das heißen?
            Absolute Positionierung und Fließtext, das widerspricht sich schon von Anfang an.

            Genau das ist der Kern meiner Aussage. Aber es geht nicht anders, wenn Du den Browser nicht ausbremsen willst. Du musst ein einzelenes Zeichen so verändern können, dass der Browser die restlichen Zeichen eben NICHT mit in Betracht ziehen muss. Wenn man dann aber TROTZDEM Fliesstext-Layout erhalten will, kommt man um absolut positionierte DIV's nicht herum.

            1. wenn du zwei Dateien nebeneinanderstellst

              Original - Fälschung

              dann würde ich links ein <pre> für's Orinal und rechts daneben ein <pre> für die Fälschung machen.

              Bei beiden jeweils ein Umbruch nach n Zeichen, sodass sich die Zeilen auf jeden Fall gegenüberstehen.

              Nimm eine mittlere Fenstergröße an. Falls der Nutzer die Schriftgröße gerne anders hätte, kann er sie ja im Firefox unproblematisch mit [Strg] [+] vergrößern, mit [Strg] [-] verkleinern, mit [Strg] [0] (Ziffer Null, nicht Buchsdtabe O) wieder normalisieren.

              Wer andere Browser benutzt, muss das eben anders machen.

              Willst du dich etwa mit Laufweiten verschiedener Schriften rumschlagen? Und wenn diese Schrift beim Nutzer nicht istalliert ist?

              Kalle

              1. dann würde ich links ein <pre> für's Orinal und rechts daneben ein <pre> für die Fälschung machen.

                Hilft nix. <PRE> Elemente beginnen ebenfalls immer mit einer neuen Zeile.

                Nimm eine mittlere Fenstergröße an. Falls der Nutzer die Schriftgröße gerne anders hätte, kann er sie ja im Firefox unproblematisch mit [Strg] [+] vergrößern, mit [Strg] [-] verkleinern, mit [Strg] [0] (Ziffer Null, nicht Buchsdtabe O) wieder normalisieren.

                Nein, wenn ich schon die Fenstergrösse beachten muss, will ich sie WISSEN, nicht SCHÄTZEN.

            2. hi,

              Du musst ein einzelenes Zeichen so verändern können, dass der Browser die restlichen Zeichen eben NICHT mit in Betracht ziehen muss. Wenn man dann aber TROTZDEM Fliesstext-Layout erhalten will, kommt man um absolut positionierte DIV's nicht herum.

              Dann hast du aber die Fliesstext-Eigenschaft eben nicht erhalten.

              gruß,
              wahsaga

              --
              /voodoo.css:
              #GeorgeWBush { position:absolute; bottom:-6ft; }
              1. Dann hast du aber die Fliesstext-Eigenschaft eben nicht erhalten.

                Richtig. Ich muss sie künstlich erzeugen.

                1. hi,

                  Dann hast du aber die Fliesstext-Eigenschaft eben nicht erhalten.

                  Richtig. Ich muss sie künstlich erzeugen.

                  Das tust du aber nicht, wenn du Zeichen für Zeichen absolut positionierst.

                  Absolute Positionierung nimmt ein Element aus dem Fluss.

                  gruß,
                  wahsaga

                  --
                  /voodoo.css:
                  #GeorgeWBush { position:absolute; bottom:-6ft; }
                  1. Das tust du aber nicht, wenn du Zeichen für Zeichen absolut positionierst.

                    Doch.

                    Absolute Positionierung nimmt ein Element aus dem Fluss.

                    Das ist doch grade der Sinn der Sache. Es soll ja für den Betrachter nur so AUSSEHEN wie ein Textfluss. Aber die Zeichen sollen sich einzeln in Echtzeit manipulieren lassen.

                    1. hi,

                      Das tust du aber nicht, wenn du Zeichen für Zeichen absolut positionierst.

                      Doch.

                      Nein.

                      Absolute Positionierung nimmt ein Element aus dem Fluss.

                      Das ist doch grade der Sinn der Sache. Es soll ja für den Betrachter nur so AUSSEHEN wie ein Textfluss.

                      Es ist aber keiner.
                      Bei echtem Textfluss findet ein Umbruch nötigenfalls dort statt, wo das Element nicht mehr breit genug ist.
                      Bei absoluter Positionierung aber nicht, da gibst du die Breite vor.

                      gruß,
                      wahsaga

                      --
                      /voodoo.css:
                      #GeorgeWBush { position:absolute; bottom:-6ft; }
  2. Hell-O!

    kann mann irgendwie die Bildschirmauflösung (vielleicht emittelt per Javascript) an den Server zurückmelden um dann per PHP eine auf diese angepasste Webseite aufzubauen?

    Nun, da geklärt ist, dass du keinen Schabernack treiben willst, schau dir mal den Codeschnipsel auf quirksmode.org an (das Kapitel "Cross browser scripts"). Die so ermittelten Werte kannst du als GET-Parameter an ein PHP-Script anhängen und mittels window.location.href zu dieser URL weiterleiten. Das Script muss dann die passende HTML-Seite ausliefern.

    Siechfred

    --
    Hier könnte Ihre Werbung stehen.
    Swiss Strolli Rider || Die neue 1%-Regelung
    1. Hi,

      Die so ermittelten Werte kannst du als GET-Parameter an ein PHP-Script anhängen

      Wäre noch zu erwähnen, daß der IE unter Windows CE die Auflösung bei jedem Request mitsendet ($_SERVER['HTTP_UA_PIXELS']). Diese ggf. vorhandenen sowie ggf. irgendwo übergebene Werte ($_REQUEST oder $_SERVER['HTTP_USER_AGENT'] - auch hier steht mitunter die Auflösung) führe ich zusammen in eine PHP-Konstante, mit der dann meine Scripts arbeiten können.

      Gruß, Cybaer

      --
      Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!