我需要检测来自Android WebView
或iOS UIWebView
或任何应用使用情况的使用情况。
检查移动设备的用户代理,如detecting-ios-android-operating-system或任何类似移动设备 -
$(document).ready(function() {
if (/Mobi/.test(navigator.userAgent)) {
// mobile!
}
});
还不够,我想禁用某些按钮并使用应用程序导航按钮,但如果用户在移动浏览器上,我想保留按钮。
答案 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);