使用JavaScript检测Android设备是手机还是平板电脑

17

我刚刚建立了一个移动站点,并希望在用户通过手机浏览时将流量重定向到我们的主站点。

目前,我使用JavaScript获取浏览器用户代理,并使用它来识别设备是否为手机。

我的问题是Android设备,因为我无法找到一个区分Android用户代理的特征来决定设备是手机还是平板电脑,如果用户在平板电脑上,我仍然想展示完整的站点。

有人知道解决方法吗?

2个回答

17

13
谷歌确实应该在此文章中添加一个“更新”选项。相当多的Android平板电脑在用户代理字符串中报告了“移动”Safari浏览器,其中新款Kindle Fire就是其中之一。我建议将其翻译为:“谷歌真的应该在这篇文章中添加“更新”选项。有不少Android平板设备在用户代理字符串中报告为“移动”Safari,其中包括新款的Kindle Fire。” - vernonk
4
确实有些过时了!如今许多平板电脑浏览器的用户代理中都带有“移动”一词,甚至像Chrome这样的常规浏览器也是如此! - Frank Conijn - Support Ukraine
我找不到任何使用“mobile”一词的平板电脑UA(搜索常见平板电脑的UA)。 - CpnCrunch

2

没有一种通用的方法可以做到这一点:阅读此文章以获取更多说明 http://www.webvanta.com/post/2012-04-08/how-to-reliably-tell-android-tablets-from-phones

引用文章中的内容,以防您没有时间进行阅读:"根据手机制造商和使用的浏览器,有些手机UA字符串中不包含“mobile”,而有些平板电脑则包含此信息"

至少对于平板电脑来说是真的,iPad在用户代理中包含单词“mobile”(适用于某些版本的Chrome和Safari)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接