可以通过javascript或HTTP标头检测*移动设备的类型*

Possible to detect the *type of mobile device* via javascript or HTTP Headers?

本文关键字:移动 类型 检测 javascript HTTP 可以通过      更新时间:2023-09-26

我收到客户的请求,要求自动检测移动设备的类型(不是浏览器,而是类型,例如:Moto Q,Blackjack II等),并从下拉列表中自动选择设备,其中包含支持的设备列表。

到目前为止,我发现HTTP标头(由移动IE提交)包含诸如以下信息

  • 分辨率
  • UA-CPU(我看过WM 2003的ARM和WM5的x86)
  • 用户代理(基本上只是说Windows CE)

我现在唯一能想到的可能是使用分辨率/cpu的组合并进行"最佳猜测"

有什么想法吗?

你可能想看看WURFL,在这里:http://wurfl.sourceforge.net/。

从网站:

所以。。。什么是WURFL? WURFL是一个XML配置文件,其中包含有关许多移动设备的功能和特性的信息。

该文件的主要范围是收集尽可能多的有关访问WAP页面的所有现有移动设备的信息,以便开发人员能够为用户构建更好的应用程序和更好的服务。

客户所说的"支持"到底是什么意思。当然,这意味着有问题的手机支持Web应用程序及其内部功能 - 忘记设备检测并仅专注于检测应用程序正常运行所需的功能不是更好吗?例如,如果我的移动网站要求Ajax工作,那么与其列出所有据说"支持Ajax"的设备,我可以做一些简单的对象检测来自己找出答案。

设备检测,就像浏览器检测一样不可靠。是的,这是可能的,但我不推荐它...在我完成的一个项目中,我们使用用户代理字符串来检测各种设备。javaScript 方法的索引派上用场了!:)

另一个快速简便的解决方案是Apache移动过滤器: http://www.apachemobilefilter.org