JS如何判断浏览器类型和详细区分IE各版本浏览器

今天用到JS判断浏览器类型,于是就系统整理了一下,便于后期使用。

/*

* 描述:判断浏览器信息

* 编写:LittleQiang_w

* 日期:2016.1.5

* 版本:V1.1

*/

//判断当前浏览类型

function BrowserType()

{

var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串

var isOpera = userAgent.indexOf("Opera") > -1; //判断是否Opera浏览器

var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera; //判断是否IE浏览器

var isEdge = userAgent.indexOf("Windows NT 6.1; Trident/7.0;") > -1 && !isIE; //判断是否IE的Edge浏览器

var isFF = userAgent.indexOf("Firefox") > -1; //判断是否Firefox浏览器

var isSafari = userAgent.indexOf("Safari") > -1 && userAgent.indexOf("Chrome") == -1; //判断是否Safari浏览器

var isChrome = userAgent.indexOf("Chrome") > -1 && userAgent.indexOf("Safari") > -1; //判断Chrome浏览器

if (isIE)

{

var reIE = new RegExp("MSIE (\\d+\\.\\d+);");

reIE.test(userAgent);

var fIEVersion = parseFloat(RegExp["$1"]);

if(fIEVersion == 7)

{ return "IE7";}

else if(fIEVersion == 8)

{ return "IE8";}

else if(fIEVersion == 9)

{ return "IE9";}

else if(fIEVersion == 10)

{ return "IE10";}

else if(fIEVersion == 11)

{ return "IE11";}

else

{ return "0"}//IE版本过低

}//isIE end

if (isFF) { return "FF";}

if (isOpera) { return "Opera";}

if (isSafari) { return "Safari";}

if (isChrome) { return "Chrome";}

if (isEdge) { return "Edge";}

}//myBrowser() end

//判断是否是IE浏览器

function isIE()

{

var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串

var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera; //判断是否IE浏览器

if(isIE)

{

return "1";

}

else

{

return "-1";

}

}

//判断是否是IE浏览器,包括Edge浏览器

function IEVersion()

{

var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串

var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera; //判断是否IE浏览器

var isEdge = userAgent.indexOf("Windows NT 6.1; Trident/7.0;") > -1 && !isIE; //判断是否IE的Edge浏览器

if(isIE)

{

var reIE = new RegExp("MSIE (\\d+\\.\\d+);");

reIE.test(userAgent);

var fIEVersion = parseFloat(RegExp["$1"]);

if(fIEVersion == 7)

{ return "IE7";}

else if(fIEVersion == 8)

{ return "IE8";}

else if(fIEVersion == 9)

{ return "IE9";}

else if(fIEVersion == 10)

{ return "IE10";}

else if(fIEVersion == 11)

{ return "IE11";}

else

{ return "0"}//IE版本过低

}

else if(isEdge)

{

return "Edge";

}

else

{

return "-1";//非IE

}

}

以上代码通过测试,可用!

但存在一个问题,即IE5与IE7浏览器暂不能区分,以下是IE5与IE7下userAgent的信息;通过userAgent发现,简单的通过以上方法,无法正确区分IE5和IE7。期待该问题的解决方案!!!

IE5: userAgent   "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; InfoPath.2; .NET4.0E)"

IE7: userAgent  "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; InfoPath.2; .NET4.0E)"

以上是 JS如何判断浏览器类型和详细区分IE各版本浏览器 的全部内容, 来源链接: utcz.com/z/357535.html

回到顶部