Je veux détecter avec javascript le navigateur natif de l'Android (celui qui vient s'installer sur tous les téléphones Android).
Que dois-je rechercher dans useragent?
Cela devrait fonctionner.
var nua = navigator.userAgent; var is_android = ((nua.indexOf('Mozilla/5.0') > -1 && nua.indexOf('Android ') > -1 && nua.indexOf('AppleWebKit') > -1) && !(nua.indexOf('Chrome') > -1));
Navigateur natif, nous n'avons pas pu détecter au premier aller lui-même, en utilisant le code mentionné ci-dessus:
var nua = navigator.userAgent; var is_android = ((nua.indexOf('Mozilla/5.0') > -1 && nua.indexOf('Android ') > -1 && nua.indexOf('AppleWebKit') > -1) && !(nua.indexOf('Chrome') > -1));
Comme pour la plupart des appareils, nous avons obtenu ce qui suit comme agent utilisateur pour Chrome Browser:
Et dans le navigateur natif:
Et a effectué cette observation pour Samsung Galaxy S3, htc desire, Asus Zenfone5.
Et a découvert que le "Chrome / 30.0.0.0" ou le "chrome /" avec la version est présent pour la plupart des développeurs, y compris Zenfone 5, Samsung Galaxy s3. Mais la "version /" non. Présent dans l'objet agent utilisateur est plus que suffisant pour différencier le natif et le Chrome.
Nous avons utilisé le code suivant:
var ua = navigator.userAgent; var is_native_android = ((ua.indexOf('Mozilla/5.0') > -1 && ua.indexOf('Android ') > -1 && ua.indexOf('AppleWebKit') > -1) && (ua.indexOf('Version') > -1));
J'espère, c'est aussi utile pour vous … 🙂
Consultez cette page pour obtenir un aperçu des différentes chaînes d'agents utilisateurs.
Essayez quelque chose comme ceci:
var ua = navigator.userAgent.toLowerCase(); var isAndroid = ua.indexOf("android") > -1; //&& ua.indexOf("mobile"); if(isAndroid) { // Do something }
ou
Vérifiez cette URL: http://davidwalsh.name/detect-android