首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何检测一般的Android平板电脑。用户代理?

如何检测一般的Android平板电脑。用户代理?
EN

Stack Overflow用户
提问于 2011-03-17 23:56:39
回答 15查看 160.6K关注 0票数 106

我到处都找过了。我们正在使用摩托罗拉的Zoom来尝试我们的平板网站测试。问题是Android Useragent是一个通用的Useragent,在平板Android和移动Android之间没有区别。我不想只针对像Xoom Useragent这样的特定设备,因为Android在不久的将来很可能会安装在多个平板设备上。

我们正在使用Umbraco,我们已经考虑过使用51Degrees.mobi解决方案,目前这不能满足我们的需求。也许在未来。我知道51Degrees和Umbraco的一些人将会在Umbraco中做一些集成,但是最终的项目可能在几个月内不会出来。

因此,为什么我们想要检测Android平板电脑的Useragent字符串,并让它不像现在那样直接指向我们的移动站点。

如果有人知道如何检测和Android平板电脑的一般,没有具体的设备将是非常有帮助的。

EN

回答 15

Stack Overflow用户

回答已采纳

发布于 2011-03-18 03:48:18

的问题是,安卓用户代理是一个通用的用户代理,在平板安卓和移动安卓之间没有区别。

这是不正确的。移动Android在User-Agent头部有" Mobile“字符串。平板电脑Android并非如此。

但值得一提的是,有相当多的平板电脑在userAgent中报告了“移动”,而后者并不是区分和平板电脑的唯一/可靠的方式。

票数 114
EN

Stack Overflow用户

发布于 2011-04-08 23:03:34

@卡洛斯:蒂姆·布雷在他的文章中推荐了这一点(另一款post by Google也是如此),但不幸的是,并不是所有的平板电脑制造商都应用了这一点。

...我们建议大尺寸设备的制造商从用户代理中删除"Mobile“...

我见过的大多数Android平板电脑用户代理字符串都使用移动safari,例如三星Galaxy Tab:

AppleWebKit/533.1 (

,如Gecko)版本/4.0 Mobile Safari/533.1

因此,目前我正在检查设备名称,以检测Android平板电脑。只要市场上只有几个型号,这是可以的,但很快这将是一个丑陋的解决方案。

至少在XOOM的情况下,移动部分似乎消失了:

AppleWebKit/534.13 (

,如Gecko)版本/4.0Safari/534.13

但由于目前只有搭载Andorid 3.x的平板电脑,检查一下Android3就足够了。

票数 20
EN

Stack Overflow用户

发布于 2011-10-14 13:06:40

虽然您可能仍然希望在User-Agent中检测“android”以实现特定于android的功能,例如触摸屏优化,但我们的主要信息是:如果您的移动站点依赖于UA嗅探,请在User-Agent中检测字符串“mobile”和“android”,而不仅仅是“android”。这有助于为您的移动和平板电脑访问者提供适当的服务。

通过浏览器检测安卓设备

代码语言:javascript
复制
 < script language="javascript"> <!--
     var mobile = (/iphone|ipad|ipod|android|blackberry|mini|windows\sce|palm/i.test(navigator.userAgent.toLowerCase()));
              if (mobile) {
                  alert("MOBILE DEVICE DETECTED");
                  document.write("<b>----------------------------------------<br>")
                  document.write("<b>" + navigator.userAgent + "<br>")
                  document.write("<b>----------------------------------------<br>")
                  var userAgent = navigator.userAgent.toLowerCase();
                  if ((userAgent.search("android") > -1) && (userAgent.search("mobile") > -1))
                         document.write("<b> ANDROID MOBILE <br>")
                   else if ((userAgent.search("android") > -1) && !(userAgent.search("mobile") > -1))
                       document.write("<b> ANDROID TABLET <br>")
              }
              else
                  alert("NO MOBILE DEVICE DETECTED"); //--> </script>
票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5341637

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档