【发布时间】:2017-01-13 23:48:25
【问题描述】:
我知道这是重复的,但我尝试了以下方法:
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”的浏览器。有没有办法改进 sn-p 以便它也能处理这个浏览器?
【问题讨论】:
-
在一些安卓手机上,chrome 是常用的浏览器。例如在 Google Nexus 手机上。
标签: javascript android jquery