js高级程序设计 第 九 章 客户端检测

        在使用客户端检测时要切记,不到万不得已的时候,就不要使用客户端检测,只要能找到更通用的方法,就应该优先采用更通用的方法,一言以蔽之,先设计最通用的方案,然后在使用特定于浏览器的技术增强该方案。

能力检测

即用来识别浏览器的能力,检测浏览器是否支持特定的能力。在可能的情况下,尽量使用typeof进行能力检测。其次,能力检测并不是浏览器检测!在实际开发中,应该将能力检测作为确定下一步解决方案的依据,而不是用它来判断用户使用的是什么浏览器。

js高级程序设计 第 九 章 客户端检测_第1张图片

怪癖检测

怪癖检测的目标是识别浏览器的特殊行为,但与能力检测确认浏览器支持什么能力不同,怪癖检测是想要知道浏览器存在什么缺陷(怪癖也就是bug)

用户代理检测

用户代理检测通过检测用户代理字符串来确定实际使用的浏览器。
五大引擎:IE,Gecko,WebKit,KHTML,Opera

小结

能力检测:在编写代码之前先检测特定浏览器的能力,无法精确的检测特定浏览器和版本。
怪癖检测:实际上是浏览器实现中存在的bug,无法精确的检测特定浏览器和版本。
用户代理检测:通过检测用户代理字符串来识别浏览器。

在决定使用哪种客户端检测方法时,一般应优先考虑使用能力的检测。怪癖检测是确定应该如何处理代码的第二选择,而用户代理检测则是客户端检测的最后一种方案,因为这种方法对用户代理字符串具有很强的依赖性。

你可能感兴趣的:(js高级程序设计 第 九 章 客户端检测)