Question

Mobile Safari est un navigateur très performant, qui peut parfaitement gérer mon site Web. Toutefois, certains éléments de ma page pourraient être optimisés pour la navigation à l'aide de cet appareil. telles que la présentation de miniatures spécifiques plus petites que leurs homologues de bureau, afin d’ajouter davantage de contenu à l’écran.

Je voudrais savoir comment je peux détecter Mobile Safari (toutes les versions, de préférence) à l'aide de PHP, afin de pouvoir ensuite servir a) un fichier css spécifique et b) des vignettes d'images de tailles différentes.

Était-ce utile?

La solution

Comparez la chaîne de l'agent utilisateur avec celle d'un utilisateur Safari Mobile:

Chaîne de l'agent utilisateur Safari Mobile

Autres conseils

Merci Joe, j'ai lu cette page et trouvé la bibliothèque de détection WebKit (en JavaScript). J'ai modifié le code pour l'adapter à mes besoins.

Pour ceux qui sont intéressés, voici ma solution.

<?php

/* detect Mobile Safari */

$browserAsString = 

Merci Joe, j'ai lu cette page et trouvé la bibliothèque de détection WebKit (en JavaScript). J'ai modifié le code pour l'adapter à mes besoins.

Pour ceux qui sont intéressés, voici ma solution.

<*>SERVER['HTTP_USER_AGENT']; if (strstr($browserAsString, " AppleWebKit/") && strstr($browserAsString, " Mobile/")) { $browserIsMobileSafari = true; } ?>
<*>

Cela vous donnera la chaîne utilisateur-agent que vous pouvez comparer au safari mobile.

p.s. http://wurfl.sourceforge.net/ WURFL peut vous aider à déterminer les UA que vous souhaitez.

SERVER['HTTP_USER_AGENT']

Cela vous donnera la chaîne utilisateur-agent que vous pouvez comparer au safari mobile.

p.s. http://wurfl.sourceforge.net/ WURFL peut vous aider à déterminer les UA que vous souhaitez.

J'ai publié un nouveau mode permettant de détecter des périphériques dans n'importe quel langage de programmation (JSP, PHP, Perl, Python .....), il s'appelle Apache Mobile Filter est un module Apache ( http://modules.apache.org/search.php?id=1787 ) qui détecte un appareil mobile et peut également adapter les images à la taille de l'écran du périphérique.

Pour plus d'informations: http://www.idelfuschini.it /it/apache-mobile-filter-v2x.html

Mozilla / 5.0 (webOS / 1.0; U; en-US) AppleWebKit / 525.27.1 (KHTML, comme Gecko) Version / 1.0 Safari / 525.27.1 Pre / 1.0 qui est le navigateur du Palm Pre, et le le mot 'Mobile' n'est pas là.

Je travaille à ce que ma détection fonctionne pleinement avec tous les nouveaux navigateurs capables. Après avoir examiné les modèles mytouch, G1, Palm Pre, droïd et autres (mais pas tous), je suis maintenant convaincu que cette solution est réalisable pour tous les nouveaux téléphones:

if (preg_match ("applewebkit / i", $ _SERVER ['HTTP_USER_AGENT'])) & amp; preg_match (" (/ mobile | pre) / i ", $ $SERVER ['HTTP_USER_AGENT'])     header (" Location: http://simplefoodie.com/iphone/?carryover= ; .urlencode ($ _ SERVER [REQUEST_URI]));

<?php

// detect Safari only!

$string = <*>SERVER['HTTP_USER_AGENT'];

if (strstr($string, " AppleWebKit/") && strstr($string, " Safari/") && !strstr($string, " CriOS"))
    {
        echo 'See in Safari only';
    }

?>   
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top