var version = navigator.appVersion
var start = version.indexOf("MSIE")
var temp = version.slice(start+5, start+6)
if(temp=="9"){
alert(9)
}else if(temp=="8"){
alert(8)
}else if(temp=="7"){
alert(7)
}else if(temp=="6"){
alert(6)
}else if(temp=="5"){
alert(5)
}
</script>
在IE8下,如果开启兼容性视图,返回值是7,否则返回8。
其实一般网站没问题很少有人会去懂兼容性按钮,可以在网站头部加
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
如果是高版本的浏览器自动会用IE7内核去渲染,就是所谓的兼容模式吧,狠多大型网站都可以看到这行代码,可以减小前端的工作量。
if ((navigator.userAgent.indexOf('MSIE') >= 0) &&(navigator.userAgent.indexOf('Opera') <0)){alert('你是使用IE')}elseif (navigator.userAgent.indexOf('Firefox') >= 0){alert('你是使用Firefox')}else
if (navigator.userAgent.indexOf('Opera') >= 0){alert('你是使用Opera')}else
{alert('你是使用其他的浏览器浏览网页!')}
IE6~IE10的浏览器特征明显,存在msie字符串,而IE11去掉了msie字符串,可以通过rv后面的版本号识别IE11,具体方法如下:
function IETester(userAgent){var UA = userAgent || navigator.userAgent
if(/msie/i.test(UA)){
return UA.match(/msie (\d+\.\d+)/i)[1]
}else if(~UA.toLowerCase().indexOf('trident') && ~UA.indexOf('rv')){
return UA.match(/rv:(\d+\.\d+)/)[1]
}
return false
}
IETester()//不传参数返回当前IE版本,如果不是IE内核浏览器,返回false
IETester('Mozilla/5.0 (Windows NT 6.3 WOW64 Trident/7.0 rv:11.0) like Gecko')//传userAgent字符串,用来判断其他IE浏览器的版本,该示例返回11.0