如何在三星Galaxy S5 / S6上使用javascript检测本机浏览器

时间:2016-09-06 13:34:42

标签: javascript android jquery

我知道这是重复的,但我尝试了以下内容:

How to detect the stock Android browser

var navU = navigator.userAgent;

// Android Mobile
var isAndroidMobile = navU.indexOf('Android') > -1 && navU.indexOf('Mozilla/5.0') > -1 && navU.indexOf('AppleWebKit') > -1;

// Apple webkit
var regExAppleWebKit = new RegExp(/AppleWebKit\/([\d.]+)/);
var resultAppleWebKitRegEx = regExAppleWebKit.exec(navU);
var appleWebKitVersion = (resultAppleWebKitRegEx === null ? null : parseFloat(regExAppleWebKit.exec(navU)[1]));

// Chrome
var regExChrome = new RegExp(/Chrome\/([\d.]+)/);
var resultChromeRegEx = regEhttps://www.quora.com/What-is-samsung-s5s-native-browser-Is-it-different-for-different-android-flavorsxChrome.exec(navU);
var chromeVersion = (resultChromeRegEx === null ? null : parseFloat(regExChrome.exec(navU)[1]));

// Native Android Browser
var isAndroidBrowser = isAndroidMobile && (appleWebKitVersion !== null && appleWebKitVersion < 537) || (chromeVersion !== null && chromeVersion < 37);

这不适用于上述设备。我在Galaxy S5 / S6原生浏览器上弄错了。

我也试过(Javascript detect android native browser):

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也会返回true。

我想改进第二段代码,因此它仅对本机浏览器返回true,而不是chrome。

根据https://www.quora.com/What-is-samsung-s5s-native-browser-Is-it-different-for-different-android-flavors,S5和S6使用名为“Internet”的浏览器。有没有办法改进上面的代码片段,所以它也处理这个浏览器?

1 个答案:

答案 0 :(得分:0)

有很多&#34; Chromia&#34;在那里(如PPK shared here,提到HTC&LG和我们的三星互联网)。三星互联网不是旧的&#34;股票&#34;,a.k.a AOSP,Android浏览器,而是我们自己的基于Chromium的浏览器。

我不确定您的目的是在确定它是否是三星互联网而不是Chrome(也许是分析?希望不是针对错误修复?)但您可能会发现我们的用户代理指南这里的字符串有用:

http://developer.samsung.com/internet/user-agent-string-format