Android手机浏览器检测

Sem*_*Zen 6 .net javascript c# android samsung-mobile

我有一个Web应用程序,手机用户可以看到移动优化的网站.新的三星Galaxy SIII用户代理无法提供请求来自手机的线索.检测手机有哪些最佳实践?

我知道javascript特征检测(即现代化),但我希望有更好的东西.以下是三星Galaxy SIII用户代理:

Mozilla/5.0(X11; Linux x86_64)AppleWebKit/534.24(KHTML,与Gecko一样)Chrome/11.0.696.34 Safari/534.24

编辑:SIII有两个可能的用户代理.以上是"桌面"版本.好玩的东西.请参阅以下链接了解详情.

http://www.anandtech.com/Show/Index/5310?cPage=19&all=False&sort=0&page=5&slug=samsung-galaxy-nexus-ice-cream-sandwich-review

pat*_*515 3

看看该用户代理,我不得不说,很难将其与非手持设备区分开来。

浏览器检测的问题在于,调整用户代理字符串显然很容易,因此您永远不知道服务器告诉您的内容是否诚实。

在这种情况下,您有两种选择:

  • 您可以检查手机发送的每个标头,也许看看是否有一个标头可以使其独一无二

  • 或者通过测试页面加载时间等找到某种类型的解决方法...,作为一个异想天开的例子,手持设备上的浏览器通常呈现页面的速度比桌面设备上的浏览器慢一些,因此在使用以下内容测试所有可能的移动设备

-

if( /Android|webOS|iPhone|iPad|iPod|BlackBerry/i.test(navigator.userAgent) ) {
 // some code..
}
Run Code Online (Sandbox Code Playgroud)

您可以查看仅包含简单脚本的页面是否未在理想时间加载。

你明白了。

另外,请尝试访问此处,看看它是否可以检测到您: http: //detectmobilebrowsers.com/