客户端检测
只要能找到通用的方法,优先采取更通用的方法。
能力检测
识别浏览器的能力
两个重要概念:
- 先检测达成目的的最常用的特这,可以保证代码最优化。
- 必须测试实际要用到的特性。
- 能力检测对于想要知道某个特性是否会按适当方式行事非常有用。
- 尽量使用typeof操作符进行能力检测。
- isHostMethod()
- 根据浏览器不同将能力组合起来更可取。
怪癖检测
目标是识别浏览器的特殊行为。
想要知道浏览器存在什么缺陷。
个别浏览器独有的,而且存在的bug
怪癖会进行代码运行,所有,建议在脚本的一开始就执行此类检测。
用户代理检测
五大引擎:IE、Gecko、WebKit、KHTML、Opera.
JavaScript引擎