Javascript обнаруживает собственный браузер Android

Я хочу определить с помощью javascript собственный браузер для Android (тот, который устанавливается на каждом телефоне Android).

Что я должен искать в useragent?

Ответ 1

Это должно работать.

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));

Ответ 2

Собственный браузер, который мы не могли обнаружить при первом же переходе, используя вышеупомянутый код:

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));

как и для большинства устройств, мы получили следующее как пользовательский агент для браузера Chrome:

enter image description here

и в собственном браузере:

enter image description here

И выполнил это наблюдение для Samsung Galaxy S3, желание htc, Asus Zenfone5.



И выяснили, что "Chrome/30.0.0.0" или "хром/" вместе с версией присутствует для большинства девайсов, включая Zenfone 5, Samsung Galaxy s3. Но "версия/" нет. присутствовать в объекте пользовательского агента более чем достаточно, чтобы дифференцировать родной и Chrome.

Мы использовали следующий код:

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));

Надеюсь, это тоже полезно для вас...:)

Ответ 3

См. эту страницу для обзора различных строк пользовательского агента.

Ответ 4

Попробуйте что-то вроде этого:

var ua = navigator.userAgent.toLowerCase();
var isAndroid = ua.indexOf("android") > -1; //&& ua.indexOf("mobile");
if(isAndroid) {
  // Do something
}

или

проверьте этот URL: http://davidwalsh.name/detect-android