是否可以通过JavaScript或者HTTP标头检测*"移动设备"的类型?

时间:2020-03-06 14:59:00  来源:igfitidea点击:

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

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

  • 解析度
  • UA-CPU(我从WM 2003看过ARM,从WM5看过x86)
  • 用户代理(基本上只是说Windows CE)

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

有什么想法吗?

解决方案

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

就像浏览器检测一样,设备检测也不可靠。是的,有可能,但是我不建议这样做……在我完成的项目中,我们使用了用户代理字符串来检测各种设备。 indexOf javaScript方法派上用场了! :)

我们可能想在这里查看WURFL:http://wurfl.sourceforge.net/。

从站点:

So... What is WURFL?
  The WURFL is an XML configuration file which contains information about capabilities and features of many mobile devices.
  
  The main scope of the file is to collect as much information as we can about all the existing mobile devices that access WAP pages so that developers will be able to build better applications and better services for the users.

另一个快速简便的解决方案是Apache Mobile Filter:http://www.apachemobilefilter.org