Existe-t-il un moyen de détecter si l'utilisateur actuel utilise un iPad en utilisant jQuery / JavaScript?
Existe-t-il un moyen de détecter si l'utilisateur actuel utilise un iPad en utilisant jQuery / JavaScript?
Détection iPad
Vous devriez pouvoir détecter un utilisateur d'iPad en jetant un œil à la userAgent
propriété:
var is_iPad = navigator.userAgent.match(/iPad/i) != null;
Détection iPhone / iPod
De même, la platform
propriété de rechercher des appareils tels que des iPhones ou des iPods:
function is_iPhone_or_iPod(){
return navigator.platform.match(/i(Phone|Pod))/i)
}
Remarques
Tant que cela fonctionne, vous devriez généralement éviter d'effectuer une détection spécifique au navigateur car elle peut souvent être peu fiable (et peut être usurpée). Il est préférable d'utiliser la détection de fonctionnalités réelle dans la plupart des cas, ce qui peut être fait via une bibliothèque comme Modernizr .
Comme indiqué dans la réponse de Brennen , des problèmes peuvent survenir lors de cette détection dans l'application Facebook. Veuillez consulter sa réponse pour gérer ce scénario.
Ressources associées
Bien que la solution acceptée soit correcte pour les iPhones, elle déclarera à tort les deux
isiPhone
etisiPad
sera vraie pour les utilisateurs visitant votre site sur leur iPad à partir de l'application Facebook.La sagesse conventionnelle est que les appareils iOS ont un agent utilisateur pour Safari et un agent utilisateur pour UIWebView. Cette hypothèse est incorrecte car les applications iOS peuvent et personnalisent leur agent utilisateur. Le principal contrevenant ici est Facebook.
Comparez ces chaînes d'agent utilisateur à partir d'appareils iOS:
Notez que sur l'iPad, la chaîne de l'agent utilisateur de Facebook UIWebView comprend «iPhone».
L'ancienne façon d'identifier iPhone / iPad en JavaScript:
Si vous deviez adopter cette approche pour détecter l'iPhone et l'iPad, vous vous retrouveriez avec IS_IPHONE et IS_IPAD étant tous les deux vrais si un utilisateur vient de Facebook sur un iPad. Cela pourrait créer un comportement étrange!
La bonne façon d'identifier l'iPhone / iPad en JavaScript:
Nous déclarons que IS_IPHONE est faux sur les iPad pour couvrir l'étrange agent utilisateur Facebook UIWebView iPad. Ceci est un exemple de la façon dont le reniflement d'agent utilisateur n'est pas fiable. Plus il y a d'applications iOS qui personnalisent leur agent utilisateur, plus le reniflement de l'agent utilisateur aura de problèmes. Si vous pouvez éviter le reniflement de l'agent utilisateur (indice: CSS Media Queries), FAITES-LE.
la source
/iPh?o(ne|d)/i
, ou/(iPhone|iPod)/i
si vous êtes sur le point de publier un iPhod: P.J'utilise ceci:
la source
J'utilise ceci:
la source