Gunther: UA Sniffing - ohne geht nicht!

Beitrag lesen

Hi Gunnar und suit!

Ich stimme euch fast uneingeschränkt zu (und zu dem Text auf der contao Seite muss man wirklich nichts mehr sagen - das habt ihr ja schon gemacht).

User agent sniffing, oje.

Das nicht nicht das einzige Oje :)

Man sollte dabei aber nicht vergessen, dass die Hersteller der Mobile Browser einen quasi dazu zwingen - jedenfalls wenn man dem User die möglichen Optionen offen lassen will.

Der Grund hierfür liegt in der Einführung der sog. DIPs (Device Independent Pixel). Der Artikel auf quirksmode.org beschreibt das "Dilemma" ganz gut.

Aktuell ist es so, dass man einen Meta-Tag (<meta name="viewport" content="width=device-width">) in seinen Quellcode einfügen muss, damit der Viewport diese "Pseudo-Größe" annimmt und die entsprechenden Media Queries greifen.

Ohne diesen Meta-Tag muss der Viewport aber trotzdem nicht der tatsächlichen physikalischen Auflösung des jeweiligen Displays entsprechen - vielmehr beträgt die Viewportbreite dann 980px!
Die imho auch völlig willkürlich gewählt sind (warum z.B. 980px und nicht 960px?).

Es ist naheliegend, dass das Aussehen einer Webseite stark unterschiedlich ist, abhängig davon ob der Viewport bspw. 360px, oder 980px breit ist.

Es sollte aber imho nicht Sache des Autors sein, dem User eine Variante vorzuschreiben - vielmehr sollte man ihm die Wahl zwischen beiden lassen, damit sich jeder seine bevorzugte Variante aussuchen kann.

Die entsprechende "Auswahl" erfolgt aber ausschließlich über den UA String. Jeder Mobile Browser hat irgendwo in den Einstellungen eine Option, die sich "Desktop Version" (oder so ähnlich) nennt. Diese bewirkt, dass schlicht das Wörtchen "Mobile" im UA String weggelassen wird (zumindest ist das der hier relevante Unterschied).

Das "Beste" an dem derzeitigen Zustand ist, dass es gar keine Möglichkeit gibt, eine Seite in der nativen (physikalischen) Auflösung des Displays anzeigen zu lassen (wie sinnvoll das ist, sei mal dahingestellt) bei Geräten mit entsprechend großen Auflösungen.

Und auch die geplante Einführung der @viewport rule in CSS schafft keine Abhilfe - sie verlagert das "Problem" nur von HTML nach CSS.

Ich kenne keine andere Möglichkeit, den entsprechenden Meta-Tag einzufügen oder wegzulassen, als UA Sniffing auf der Serverseite zu betreiben.

Aber davon mal abgesehen - ich stehe wirklich auf dem Standpunkt, dass man sich halt mit gewissen Gegebenheiten abfinden muss. Und wer seinen UA String, aus welchen Gründen auch immer "manipuliert", der weiß entweder genau was er tut, oder er ist selbst schuld.

Es gibt imho noch einige weitere Dinge, die sich derzeit nur per UA Sniffing vernünftig lösen lassen, aber die sollen jetzt hier keine Rolle spielen.

Gruß Gunther