Javascript检测android本机浏览器

Raz*_*van 11 html javascript jquery

我想用javascript检测本机android浏览器(安装在每个Android手机上的浏览器).

我应该在useragent中寻找什么?

小智 15

这应该工作.

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));
Run Code Online (Sandbox Code Playgroud)


Kai*_*las 8

原生浏览器,我们无法在第一次使用上面提到的代码时检测到:

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));
Run Code Online (Sandbox Code Playgroud)

对于大多数设备,我们得到以下作为chrome浏览器的用户代理:

在此输入图像描述

并在本机浏览器中:

在此输入图像描述

并对三星Galaxy S3,htc欲望,华硕Zenfone5进行了此次观察.



并且发现"Chrome/30.0.0.0"或"chrome /"以及版本都适用于包括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));
Run Code Online (Sandbox Code Playgroud)

希望,它也对你有用...... :)