Du bist hier: Snippet-Verzeichnis » PHP (128)
Sprache:

Abfrage der Bildschirmgröße ... dann laden der passenden CSS-Datei

Sprache: Deutsch
Programmiersprache: PHP
Veröffentlicht von: seth
Letzte Änderung: 15.06.2006
Aufrufe: 2399

Beschreibung

Dieses Script fragt über Javascript die Bildschirmgröße ab, vergleicht dann die Variablen mit der Vorgabe, weist den Variablen $width und $height dann die gewünschten Werte zu und lädt dann dementsprechend die passende Styledatei, die natürlich den passenden Namen tragen muss (zum Beispiel: ist $width=1024 wird die 1024.css geladen).
Man kann den If-Teil problemlos erweitern und somit alle möglichen Bildschirm-Auflösungen abfragen und festlegen welche Werte $width und $height dann haben sollen, damit die passende Style-Datei geladen wird.
Das Script sollte im HTML-Head stehen.

Code

1 <?php 2 $width = $_REQUEST['width']; $height = $_REQUEST['height']; 3 if(empty($width)) 4 { 5 echo "<script language=\"JavaScript\">var screen_w = screen.width; var screen_h = screen.height;location.replace(\"anmeldung1.php?width=\"+screen_w+\"&height=\"+screen_h);</script>"; 6 } 7 else 8 { 9 if ($width > 1024) 10 { 11 if (($width == 1280) && ($height == 1024)) { $width = 1280; $height = 1024; } 12 } 13 else 14 { 15 $width = 1024; $height = 768; 16 } 17 echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"Pfad zur Style-Datei".$width.".css\">"; 18 } 19 ?>

4 Kommentare

1

klar und nachvollziebar - hab ich schon lange gesucht. Danke :-)

Dienstag, 22. August 2006 06:33:11 von Ledzep
2

So schön dieses Script auch ist, möchte ich anmerken, dass nicht die Fenstergröße, sondern der Viewport eines Benutzers entscheidend ist - das habe ich auch herausfinden müssen.

Ich will dieses Script nicht kritisieren, aber eine - meiner Meinung nach - bessere Lösung findet sich bei themaninblue:
http://themaninblue.com/experiment/ResolutionLayout/

Gruß

Dienstag, 22. August 2006 11:46:12 von Marco Philipeit
3

Wozu soll das den überhaupt gut sein?

Die Auflösung des Clients sollte bei einer Webseite niemals eine Rolle im Bezug auf die Darstellung haben! (Grundlagen der Webprogrammierung)

Es gibt leute, die entgegen Deinen Annahmen auch mal eben 2 oder mehr Browserfenster nebeneinander geöffnet haben.

Was ist mit all denen die mehrere Monitore zur Darstellung eines Fensters nutzen?

Automatisch skalierende Layouts ohne JS sind keine Hexerei! Allen dies besser machen wollen sei yaml.de ans Herz gelegt.

Sonntag, 17. September 2006 11:34:24 von Ulf Kadner
4

Automatisch skalierende _Layouts_ sicherlich - aber was, wenn sich ein horizontales Menü zu breit für 640*480 erweißt? Wenn die Grafik für 800*600 einfach zu groß ist und eine andere besser wäre? Wenn der Padding zu groß ist und sich die Zeile daher ab ner bestimmten Größe umbricht?

Yaml ist an sich eine tolle Sache, aber in der Praxis sieht das nochmal ganz anders aus. Hierfür kann man das Script von themaninblue gut verwenden. Wir wollen doch schließlich auch ein bisschen Farbe und Spielereien im Netz, oder verwenden Sie einen reinen Textbrowser, Herr Kadner?

Dienstag, 26. September 2006 18:02:53 von Marco Philipeit

Dieses Snippet kommentieren

Name *  

E-Mail (wird nicht angezeigt) *    

Website  

Kommentar *  

Sicherheitscode Sicherheitscode *    

RSS