1、try catch
在try中执行我们的代码,如果在执行的过程中发生了异常信息,我们在catch中写代替的执行方案
前提:不兼容四位情况下,执行对应的代码,需要发生异常错误才可以检测到
弊端:不管兼不兼容,都要先执行不兼容的代码,相对来说浪费一些性能
2、利用是否为这个对象的一个属性,来检测是否兼容
例如:window.getComputedStyle这个属性,我们获取的属性值是一个[function];而在IE7~8中是不兼容的,window下没有getComputedStyle这个属性,我们获取的属性值是undefined;
1)第一种写法
if(typeof window.getComputedStyle==="function"{
兼容
}else{
不兼容
}
2)第二种写法
if(window.getComputedStyle){
兼容
}else{
不兼容
}
3)第三种写法(性能相对略好)
if(getComputedStyle in window){
兼容
}else{
不兼容
}
3、我们已知在哪些浏览器不兼容了,那么我们只需要单独的检测浏览器类型,然后在进行特殊处理即可
navigator.userAgent---->获取当前浏览器版本信息