JavaScript检测应用程序使用情况

时间:2017-10-25 14:50:21

标签: javascript android ios

我需要检测来自Android WebView或iOS UIWebView或任何应用使用情况的使用情况。

检查移动设备的用户代理,如detecting-ios-android-operating-system或任何类似移动设备 -

$(document).ready(function() {
    if (/Mobi/.test(navigator.userAgent)) {
        // mobile!
    }
});

还不够,我想禁用某些按钮并使用应用程序导航按钮,但如果用户在移动浏览器上,我想保留按钮。

1 个答案:

答案 0 :(得分:0)

您可以使用以下方法检测移动设备设备:

// detect browser
    var android = navigator.userAgent.match(/Android/i) != null;    // Check if using Android
    var iPad = navigator.userAgent.match(/iPad/i) != null;          // Check if using an iPad
    var iPhone = navigator.userAgent.match(/iPhone/i) != null;      // Check if using an iPhone

在应用程序中检测Web视图要困难得多,因为它们与普通的浏览器视图并没有真正的区别。

从Google Dev文档中,您可以检查Version/_X.X_

  

如果您尝试区分WebView和Chrome   对于Android,您应该查找Version / X.X 的存在   WebView用户代理字符串中的字符串。不要依赖于具体的   Chrome版本号(例如,30.0.0.0)作为版本号   每个版本都会发生变化。

https://developer.chrome.com/multidevice/user-agent#webview_user_agent

然后这个帖子的回答提供了有关检测iOS的好信息

detect ipad/iphone webview via javascript

像这样的评论:https://stackoverflow.com/a/10170885/5234751

var is_uiwebview = /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(navigator.userAgent);
var is_safari_or_uiwebview = /(iPhone|iPod|iPad).*AppleWebKit/i.test(navigator.userAgent);