js 如何标示ie11

JavaScript013

js 如何标示ie11,第1张

IE 11中userAgent已经不包含'msie'所以用'msie'不能判断IE 11

IE 11的userAgent版本为Trident x.x

判断IE 11 用正则判断userAgent中有没有带Trident字样的字符串即可

var u = window.navigator.userAgent.toLocaleLowerCase(),

ie11 = /(trident)\/([\d.]+)/,

b = u.match(ie11)

if(b){

     alert("该浏览器是ie11")       

}

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

方法名区别和参数个数区别。

1、方法名区别。js在ie8的方法名为后缀.8,ie11的方法名为后缀.11。

2、参数个数区别。js在ie8的参数个数为10个,ie11的参数个数为20个。