本章内容:
❑ 使用能力检测
❑ 用户代理检测的历史
❑ 软件与硬件检测
❑ 检测策略
小结:
客户端检测有不少方式,但下面两种用得最多:
❑ 能力检测,在使用之前先测试浏览器的特定能力。
例如,脚本可以在调用某个函数之前先检查它是否存在。这种客户端检测方式可以让开发者不必考虑特定的浏览器或版本,而只需关注某些能力是否存在。能力检测不能精确地反映特定的浏览器或版本。
❑ 用户代理检测,通过用户代理字符串确定浏览器。
用户代理字符串包含关于浏览器的很多信息,通常包括浏览器、平台、操作系统和浏览器版本。
用户代理字符串有一个相当长的发展史,很多浏览器都试图欺骗网站相信自己是别的浏览器。
用户代理检测也比较麻烦,特别是涉及Opera会在代理字符串中隐藏自己信息的时候。
即使如此,用户代理字符串也可以用来确定浏览器使用的渲染引擎以及平台,包括移动设备和游戏机。
在选择客户端检测方法时,首选是使用能力检测。
特殊能力检测要放在次要位置,作为决定代码逻辑的参考。
用户代理检测是最后一个选择,因为它过于依赖用户代理字符串。
浏览器也提供了一些软件和硬件相关的信息。这些信息通过screen和navigator对象暴露出来。
利用这些API,可以获取关于操作系统、浏览器、硬件、设备位置、电池状态等方面的准确信息。
