Sprung zum Inhalt

Webdesign nach Maß von webdesign weisshart

Mein Blog

RSS Feed AbonnementRSS 2.0 Feed

zum Archiv und den Kategorien

Ein eigenes CSS für das iPad?

Dienstag, 14. September 2010

Seit langem bediene ich mobile Geräte (Handys usw.) mit einem eigenen CSS, um der Bildschirmgröße Rechnung zu tragen. Siehe z. B. diesen Beitrag. Auch das iPhone fällt nach meinem Dafürhalten darunter, obwohl das auch mit Standard-CSS und einigem Gepfriemel seitens des Benutzers noch einigermaßen klar kommt.

Für die Unterscheidung setze ich folgende PHP-Funktion ein:
function check_mobile() {
$agents = array(
'Windows CE', 'Pocket', 'Mobile',
'Portable', 'Smartphone', 'SDA',
'PDA', 'Handheld', 'Symbian',
'WAP', 'Palm', 'AvantGo', 'iPhone', 'BlackBerry', 'MOT-',
'cHTML', 'BlackBerry', 'Opera Mini',
'Nokia', 'Palm', 'Blazer', 'SonyEricsson', 'Minimo'
);

for ($i=0; $i<count($agents); $i++) {
if(isset($_SERVER["HTTP_USER_AGENT"])
&& strpos($_SERVER["HTTP_USER_AGENT"], $agents[$i]) !== false
)
return true;
}
return false;
}

Ja, ich weiß: Der String 'iPhone' im array ist redundant. Weil das iPhone ohnehin schon 'Mobile' im User Agent String mitschickt:
Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1A543a Safari/419.3

Jetzt zum iPad:
Auch das iPad trägt das 'Mobile' im User Agent String:
Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B334b Safari/531.21.10
Aber dem iPad ein 'mobiles CSS' liefern? Nein! Und den String 'Mobile' will ich aus meinem array nicht herausnehmen. Daher wird die Abfrage jetzt erweitert zu:

for ($i=0; $i<count($agents); $i++) {
if(isset($_SERVER["HTTP_USER_AGENT"])
&& strpos($_SERVER["HTTP_USER_AGENT"], $agents[$i]) !== false
&& strpos($_SERVER["HTTP_USER_AGENT"], 'iPad') === false)
return true;
}

und das iPad erhält das, was ihm zu Gesicht steht: nämlich mein 'normales' CSS.



Kommentare

Noch keine Beiträge.

Einen Kommentar abgeben

Damit Code-Beispiele richtig angezeigt werden, müssen Sonderzeichen maskiert werden (z.B. < zu &lt;).


(notwendig)

(notwendig)

Spamschutz:
Je nach Inhalt wird Ihr Kommentar eventuell nicht sofort angezeigt, sondern muss manuell freigeschaltet werden.

Archiv:

Kategorien:

Creative Commons Lizenzvertrag
Alle Texte (nicht Bilder!) Creative Commons CC BY-NC-SA 3.0 DE