我想用 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 浏览器的用户代理:
在本机浏览器中:
并针对三星 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));
希望,它对你也有用...... :)
有关不同用户代理字符串的概述,请参阅此页面。
尝试这样的事情:
var ua = navigator.userAgent.toLowerCase();
var isAndroid = ua.indexOf("android") > -1; //&& ua.indexOf("mobile");
if(isAndroid) {
// Do something
}
或者