JS如何判断浏览器类型和详细区分IE各版本浏览器
今天用到JS判断浏览器类型,于是就系统整理了一下,便于后期使用。
/* *描述:判断浏览器信息 *编写:LittleQiang_w *日期:2016.1.5 *版本:V1.1 */ //判断当前浏览类型 functionBrowserType() { varuserAgent=navigator.userAgent;//取得浏览器的userAgent字符串 varisOpera=userAgent.indexOf("Opera")>-1;//判断是否Opera浏览器 varisIE=userAgent.indexOf("compatible")>-1&&userAgent.indexOf("MSIE")>-1&&!isOpera;//判断是否IE浏览器 varisEdge=userAgent.indexOf("WindowsNT6.1;Trident/7.0;")>-1&&!isIE;//判断是否IE的Edge浏览器 varisFF=userAgent.indexOf("Firefox")>-1;//判断是否Firefox浏览器 varisSafari=userAgent.indexOf("Safari")>-1&&userAgent.indexOf("Chrome")==-1;//判断是否Safari浏览器 varisChrome=userAgent.indexOf("Chrome")>-1&&userAgent.indexOf("Safari")>-1;//判断Chrome浏览器 if(isIE) { varreIE=newRegExp("MSIE(\\d+\\.\\d+);"); reIE.test(userAgent); varfIEVersion=parseFloat(RegExp["$1"]); if(fIEVersion==7) {return"IE7";} elseif(fIEVersion==8) {return"IE8";} elseif(fIEVersion==9) {return"IE9";} elseif(fIEVersion==10) {return"IE10";} elseif(fIEVersion==11) {return"IE11";} else {return"0"}//IE版本过低 }//isIEend if(isFF){return"FF";} if(isOpera){return"Opera";} if(isSafari){return"Safari";} if(isChrome){return"Chrome";} if(isEdge){return"Edge";} }//myBrowser()end //判断是否是IE浏览器 functionisIE() { varuserAgent=navigator.userAgent;//取得浏览器的userAgent字符串 varisIE=userAgent.indexOf("compatible")>-1&&userAgent.indexOf("MSIE")>-1&&!isOpera;//判断是否IE浏览器 if(isIE) { return"1"; } else { return"-1"; } } //判断是否是IE浏览器,包括Edge浏览器 functionIEVersion() { varuserAgent=navigator.userAgent;//取得浏览器的userAgent字符串 varisIE=userAgent.indexOf("compatible")>-1&&userAgent.indexOf("MSIE")>-1&&!isOpera;//判断是否IE浏览器 varisEdge=userAgent.indexOf("WindowsNT6.1;Trident/7.0;")>-1&&!isIE;//判断是否IE的Edge浏览器 if(isIE) { varreIE=newRegExp("MSIE(\\d+\\.\\d+);"); reIE.test(userAgent); varfIEVersion=parseFloat(RegExp["$1"]); if(fIEVersion==7) {return"IE7";} elseif(fIEVersion==8) {return"IE8";} elseif(fIEVersion==9) {return"IE9";} elseif(fIEVersion==10) {return"IE10";} elseif(fIEVersion==11) {return"IE11";} else {return"0"}//IE版本过低 } elseif(isEdge) { return"Edge"; } else { return"-1";//非IE } }
以上代码通过测试,可用!
但存在一个问题,即IE5与IE7浏览器暂不能区分,以下是IE5与IE7下userAgent的信息;通过userAgent发现,简单的通过以上方法,无法正确区分IE5和IE7。期待该问题的解决方案!!!
IE5:userAgent "Mozilla/4.0(compatible;MSIE7.0;WindowsNT6.1;Trident/7.0;SLCC2;.NETCLR2.0.50727;.NETCLR3.5.30729;.NETCLR3.0.30729;MediaCenterPC6.0;.NET4.0C;InfoPath.2;.NET4.0E)"
IE7:userAgent "Mozilla/4.0(compatible;MSIE7.0;WindowsNT6.1;Trident/7.0;SLCC2;.NETCLR2.0.50727;.NETCLR3.5.30729;.NETCLR3.0.30729;MediaCenterPC6.0;.NET4.0C;InfoPath.2;.NET4.0E)"
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。