Qu’est-ce que l’agent utilisateur iPad?

D’après ce que j’ai compris, l’iPad utilise l’iPhone OS, mais avec une résolution d’écran différente de celle de l’iPhone et de l’iPod touch. Tant de sites peuvent devoir modifier leur détection d’agent utilisateur pour s’adapter à l’iPad.

Ainsi, toute personne ayant access à l’iPad ou au iPad SDK peut-elle nous donner la chaîne user-agent?

Mozilla / 5.0 (iPad; U; processeur iPhone OS 3_2 comme Mac OS X; en-us) AppleWebKit / 531.21.10 (KHTML, comme Gecko) Version / 4.0.4 Mobile / 7B314 Safari / 531.21.10

Depuis le simulateur , en mode iPad:

Mozilla / 5.0 (Macintosh; U; Intel Mac OS X 10_5_8; en-us) AppleWebKit / 531.9 (KHTML, comme Gecko) Version / 4.0.3 Safari / 531.9 (c’est pour 3.2 beta 1)

Mozilla / 5.0 (iPad; U; CPU OS 3_2 comme Mac OS X; en-us) AppleWebKit / 531.21.10 (KHTML, comme Gecko) Version / 4.0.4 Mobile / 7B334b Safari / 531.21.10 (ceci est pour la version bêta 3.2) 3)

et en mode iPhone:

Mozilla / 5.0 (iPhone; U; CPU iPhone OS 3_2 comme Mac OS X; en-us) AppleWebKit / 531.21.20 (KHTML, comme Gecko) Mobile / 7B298g

Je ne sais pas à quel point le simulateur est fiable, mais il semble que vous ne puissiez pas détecter si le périphérique est un iPad à partir de la chaîne utilisateur-agent.

(Remarque: je suis sur Snow Leopard dont la chaîne User Agent pour Safari est

Mozilla / 5.0 (Macintosh; U; Intel Mac OS X 10_6_2; en-us) AppleWebKit / 531.21.8 (KHTML, comme Gecko) Version / 4.0.4 Safari / 531.21.10

)

A partir d’un appareil réel:

Mozilla/5.0 (iPad; U; CPU OS OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B367 Safari/531.21.10

Il est intéressant de noter que lorsqu’il est exécuté en mode Web-app (en utilisant la balise meta apple-mobile-web-app-capable avec apple-mobile-web-app-capable App), l’agent d’utilisateur change de:

Mozilla / 5.0 (iPad; U; CPU OS 3_2_1 comme Mac OS X; en-us) AppleWebKit / 531.21.10 (KHTML, comme Gecko) Version / 4.0.4 Mobile / 7B405 Safari / 531.21.10

à:

Mozilla / 5.0 (iPad; U; système d’exploitation 3_2_1 comme Mac OS X; en-us) AppleWebKit / 531.21.10 (KHTML, comme Gecko) Mobile / 7B405

iPad 2 sous 4.3.5:

Mozilla / 5.0 (iPad; U; processeur OS 4_3_5 comme Mac OS X; en-us) AppleWebKit / 533.17.9 (KHTML, comme Gecko) Version / 5.0.2 Mobile / 8L1 Safari / 6533.18.5

Le mien dit:

Mozilla / 5.0 (iPad; U; CPU OS 4_3 comme Mac OS X; da-dk) AppleWebKit / 533.17.9 (KHTML, comme Gecko) Version / 5.0.2 Mobile / 8F190 Safari / 6533.18.5

Voici!

Mozilla / 5.0 (iPad; U; CPU OS 3_2 comme Mac OS X; en-us) AppleWebKit / 531.21.10 (KHTML, comme Gecko) Version / 4.0.4 Mobile / 7B334b Safari / 531.21.10

Il semble y avoir un consensus général sur le fait que chaque périphérique Apple, iphone, ipad ou ipod utilise un agent utilisateur contenant à la fois «Mobile» et «Safari».

Cependant, en utilisant le dernier SDK (4.0.1) et en lisant l’agent utilisateur sur mon serveur rails (en utilisant request.env["HTTP_USER_AGENT"] ), nous ne recevons jamais la partie “Safari”.

Que la requête soit faite à partir du simulateur ou d’un périphérique réel, du débogage ou de la publication, elle ressemble toujours à ceci:

Mozilla / 5.0 (iPhone; U; Processeur iPhone OS 3_1_2 comme Mac OS X; de-de) AppleWebKit / 528.18 (KHTML, comme Gecko) Mobile / 7D11 ”

Juste pas de «safari». 🙁 Nous devons donc utiliser la partie “iPhone” pour être sûr. C’est quelque chose que Apple ne recommande pas de faire.

À partir du simulateur 3.2 final:

Mozilla / 5.0 (iPad; U; CPU OS 3_2 comme Mac OS X; en-us) AppleWebKit / 531.21.10 (KHTML, comme Gecko) Version / 4.0.4 Mobile / 7B367 Safari / 531.21.10

Chaîne d’agent utilisateur Safari sur iPad dans iPhone OS 3.2 SDK beta 3:

Mozilla / 5.0 (iPad; U; CPU OS 3_2 comme Mac OS X; en-us) AppleWebKit / 531.21.10 (KHTML, comme Gecko) Version / 4.0.4 Mobile / 7B334b Safari / 531.21.10

Plus d’infos: http://developer.apple.com/library/safari/#technotes/tn2010/tn2262/_index.html

Je pense qu’il est utile de mentionner que vous n’avez généralement pas besoin d’utiliser la chaîne d’agent complète, à moins que vous ne trouviez peut-être une raison pour laquelle vous devez adapter le site Web à un modèle spécifique.

Vous pouvez vérifier l’iPhone, l’iPad et l’iPod dans la chaîne d’agent et couvrir toutes vos bases.

 if((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i)) || (navigator.userAgent.match(/iPad/i))) { appleMobileDevice = true; } else { appleMobileDevice = false; } 

Pour iPad seulement

 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