现实生活中,浏览器之间的差异,以及不同浏览器的“怪癖”,多得不胜枚举。因此,浏览器端检测除了是一种补救措施外,更是一种行之有效的开发策略。
不到万不得已,不要使用客户端检测。
方案:先设计最通用的方案,然后再使用特定浏览器的技术增强方案。
9.1 能力检测
能力检测的目标不是识别特定的浏览器,而是识别浏览器的能力。确定浏览器支持特定的能力,然后给出解决方案。
比如:IE5.0之前浏览器不支持document.getElementById(),但支持document.all
则先进行能力检测,不支持情况下,再用特定方案
if( document.getElementById ){
...
} else if( document.all ) {
...
}
9.1.1 更可靠的能力检测