我需要在移动网站上更改一些按钮和文本,具体取决于用户是在Android还是iOS浏览器上查看它们。有可靠的方法执行检查吗?
Answers:
var isMobile = {
Windows: function() {
return /IEMobile/i.test(navigator.userAgent);
},
Android: function() {
return /Android/i.test(navigator.userAgent);
},
BlackBerry: function() {
return /BlackBerry/i.test(navigator.userAgent);
},
iOS: function() {
return /iPhone|iPad|iPod/i.test(navigator.userAgent);
},
any: function() {
return (isMobile.Android() || isMobile.BlackBerry() || isMobile.iOS() || isMobile.Windows());
}
};
我将使用该navigator.useragent
属性来获取useragent-string,对其进行解析并检测OS。
这里是一个如何做的例子。
更新:
由于这个问题的受欢迎程度,我想我会在回答中添加一些其他信息。
通常,浏览器嗅探几乎绝不是最好的方法。为什么?好吧,有很多原因,但是有两个很好的理由:
话虽如此,如果您确实确实需要使用浏览器/ OS检测,那么不要重新发明轮子,也不要尝试自己动手做-您将陷入痛苦和晦涩的警告中!我建议您使用类似WhereBrowser之类的库,该库将为您提供一个方便的JavaScript对象,其中包含有关os,浏览器,渲染引擎和设备的信息。
您可以使用导航器对象:http : //www.w3schools.com/js/js_browser.asp,然后使用基于导航器属性的if语句。