Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript检测android本机浏览器_Javascript_Jquery_Html - Fatal编程技术网

Javascript检测android本机浏览器

Javascript检测android本机浏览器,javascript,jquery,html,Javascript,Jquery,Html,我想用javascript检测原生android浏览器(每个android手机上都安装的浏览器) 我应该在useragent中查找什么 试试这样的方法: var ua = navigator.userAgent.toLowerCase(); var isAndroid = ua.indexOf("android") > -1; //&& ua.indexOf("mobile"); if(isAndroid) { // Do something } 或 检查此url:

我想用javascript检测原生android浏览器(每个android手机上都安装的浏览器)


我应该在useragent中查找什么

试试这样的方法:

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

检查此url:

有关不同用户代理字符串的概述,请参阅。

这应该可以

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 desire、华硕Zenfone5进行了观察



并发现“Chrome/30.0.0.0”或“Chrome/”以及该版本适用于大多数设备,包括Zenfone 5、三星Galaxy s3。但是用户代理对象中的“version/”编号足以区分本机和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));

希望,这对你也有用…:)

一个尺码不适合所有人。一些安卓手机用iPhone的用户代理伪装成iPhone。我不懂“功能检测”,你能解释一下吗特征检测并不适用于所有情况。如果你检查/Android/i的用户代理字符串,你会有一些运气,但这并不是说它是什么版本的webkit。我不知道为什么你会被否决,这是一个很好的资源。这将匹配Android上的Firefox,也是。这只检测操作系统-与用户提出的问题无关。这是否仍然适用于Android 5.1.1的本机浏览器?因为我可以得到的var是(u native)android=ua.indexOf(android)>-1&&ua.indexOf(mobile)&&ua.indexOf(chrome)>-1,但所有其他标识符似乎都失败了。看起来本机浏览器正在使用AppleWebkit-Mozilla/5.0。这似乎适用于旧版和新版Android股票浏览器。这在Android 6.0.1中不起作用(至少在我的美国t-mobile S6上不起作用)。本机浏览器现在基于Chrome,很难区分两者之间的区别。我所看到的唯一区别是制造商特有的词语(对我来说,三星有好几次)。我朋友的S7甚至不再有本机浏览器,Chrome现在是该手机的本机浏览器。但好的是,我想这已经不重要了,因为两者应该是相似的。似乎它不适用于Android 4.4+(他们改变了本机浏览器)