更好的Android设备检测

时间:2012-08-10 05:59:04

标签: android browser-detection

我一直在寻找有关检测Android设备与iOS设备的信息,以便我可以根据设备显示下载Android或iOS应用的链接。我遇到的每个答案都说要在导航器对象中查找“Android”userAgent,但在快速打印出该对象之后,任何地方都没有任何Android指示。我认为这必须是较新的Android设备的功能。相反,我必须通过检查对象是否带有“Mozilla”标签而不是“Chrome”标签来做一些工作。这似乎工作正常,但最近刚刚发布了针对Android ICS +的Chrome浏览器,所以现在我可以检查哪些区别于移动设备与家用电脑?至少在这种情况下,我已经设置了它(通过减法而不是附加地进行编程),这样如果他们碰巧有移动Chrome,他们就会看到两者,但这看起来很草率。

//更新 - 我发现HTC设备(可能还有一些蜂窝设备)会输出一个错误的userAgent,除非用户处于可以在其设置中打开的“移动查看模式”。

    else if( /(Mozilla)/i.test(navigator.userAgent) !== (/(Chrome)/i.test(navigator.userAgent))) {
    $('a#iphone_app').css("visibility", "hidden");
    $('a#iphone_app').css("display", "none")
    }

1 个答案:

答案 0 :(得分:0)

不确定是否要完全隐藏内容。也许只是让一个比另一个更突出。表明你支持这两个平台对你来说是一个优势。

运行Chrome的GNex上的userAgent:

"Mozilla/5.0 (Linux; Android 4.0.4; Galaxy Nexus Build/IMM76K) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile Safari/535.19"
运行Crome的MacBook上的

userAgent:

"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_4) AppleWebKit/535.24 (KHTML, like Gecko) Chrome/19.0.1055.1 Safari/535.24"