Je dois modifier certains boutons et du texte sur un site Web mobile, selon que l'utilisateur le visualise sur un navigateur Android ou iOS. Existe-t-il un moyen fiable d'effectuer la vérification?
var isMobile = {
Windows: function() {
return /IEMobile/i.test(navigator.userAgent);
},
Android: function() {
return /Android/i.test(navigator.userAgent);
},
BlackBerry: function() {
return /BlackBerry/i.test(navigator.userAgent);
},
iOS: function() {
return /iPhone|iPad|iPod/i.test(navigator.userAgent);
},
any: function() {
return (isMobile.Android() || isMobile.BlackBerry() || isMobile.iOS() || isMobile.Windows());
}
};
Je voudrais utiliser le navigator.useragent
propriété pour obtenir la chaîne useragent, l'analyser et détecter le système d'exploitation.
Here est un exemple de la façon dont vous pouvez le faire.
Mise à jour:
En raison de la popularité de cette question, j'ai pensé ajouter quelques informations supplémentaires à ma réponse.
En général, le reniflement du navigateur n'est presque jamais la meilleure solution. Pourquoi? Eh bien, il y a beaucoup de raisons, mais en voici deux bonnes:
Cela dit, si vous avez vraiment besoin d'utiliser la détection de navigateur/système d'exploitation, ne réinventez pas la roue et n'essayez pas de le faire vous-même: vous serez plongé dans un monde de souffrances et de piètres avertissements! Je vous suggère d'utiliser une bibliothèque telle que WhichBrowser , qui vous fournira un objet JavaScript pratique contenant des informations sur le système d'exploitation, le navigateur, le moteur de rendu et le périphérique.
Vous pouvez utiliser l'objet de navigateur: http://www.w3schools.com/js/js_browser.asp , puis utiliser des instructions if basées sur les propriétés du navigateur.
J'ai utilisé cela pendant un certain temps. Vérification simple pour voir le retour vrai ou faux basé sur est un appareil mobile.
var isMobile = (/Android|iPhone|iPad|iPod|BlackBerry|IEMobile|Windows Phone/i.test(navigator.userAgent)) ? true : false;