本章内容:
    ❑ 使用能力检测
    ❑ 用户代理检测的历史
    ❑ 软件与硬件检测
    ❑ 检测策略

    小结:
    客户端检测有不少方式,但下面两种用得最多:
    ❑ 能力检测,在使用之前先测试浏览器的特定能力。
    例如,脚本可以在调用某个函数之前先检查它是否存在。这种客户端检测方式可以让开发者不必考虑特定的浏览器或版本,而只需关注某些能力是否存在。能力检测不能精确地反映特定的浏览器或版本。
    ❑ 用户代理检测,通过用户代理字符串确定浏览器。
    用户代理字符串包含关于浏览器的很多信息,通常包括浏览器、平台、操作系统和浏览器版本。
    用户代理字符串有一个相当长的发展史,很多浏览器都试图欺骗网站相信自己是别的浏览器。
    用户代理检测也比较麻烦,特别是涉及Opera会在代理字符串中隐藏自己信息的时候。
    即使如此,用户代理字符串也可以用来确定浏览器使用的渲染引擎以及平台,包括移动设备和游戏机。

    在选择客户端检测方法时,首选是使用能力检测。
    特殊能力检测要放在次要位置,作为决定代码逻辑的参考。
    用户代理检测是最后一个选择,因为它过于依赖用户代理字符串。

    浏览器也提供了一些软件和硬件相关的信息。这些信息通过screen和navigator对象暴露出来。
    利用这些API,可以获取关于操作系统、浏览器、硬件、设备位置、电池状态等方面的准确信息。