Я хочу определить с помощью javascript собственный браузер для Android (тот, который устанавливается на каждом телефоне Android).
Что я должен искать в useragent?
Я хочу определить с помощью javascript собственный браузер для Android (тот, который устанавливается на каждом телефоне Android).
Что я должен искать в useragent?
Это должно работать.
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));
Собственный браузер, который мы не могли обнаружить при первом же переходе, используя вышеупомянутый код:
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:
и в собственном браузере:
И выполнил это наблюдение для 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));
Надеюсь, это тоже полезно для вас...:)
См. эту страницу для обзора различных строк пользовательского агента.
Попробуйте что-то вроде этого:
var ua = navigator.userAgent.toLowerCase();
var isAndroid = ua.indexOf("android") > -1; //&& ua.indexOf("mobile");
if(isAndroid) {
// Do something
}
или
проверьте этот URL: http://davidwalsh.name/detect-android