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)"
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。