(1) 获取浏览器名字+版本字符串
function getBrowserInfo()
{
var agent = navigator.userAgent.toLowerCase() ;
var regStr_ie = /msie [\d.]+;/gi ;
var regStr_ff = /firefox\/[\d.]+/gi
var regStr_chrome = /chrome\/[\d.]+/gi ;
var regStr_saf = /safari\/[\d.]+/gi ;
//IE
if(agent.indexOf("msie") > 0)
{
return agent.match(regStr_ie) ;
}
//firefox
if(agent.indexOf("firefox") > 0)
{
return agent.match(regStr_ff) ;
}
//Chrome
if(agent.indexOf("chrome") > 0)
{
return agent.match(regStr_chrome) ;
}
//Safari
if(agent.indexOf("safari") > 0 && agent.indexOf("chrome") < 0)
{
return agent.match(regStr_saf) ;
}
}
(2)然后获取版本号
var browser = getBrowserInfo() ;
//alert(browser);
var verinfo = (browser+"").replace(/[^0-9.]/ig,"");
-
Chrome对应userAgent信息:
Chrome/后面紧跟的38.0...数字串为当前浏览器版本
-
FF对应userAgent信息
Firefox/后面紧跟的33.0为当前FF版本
-
IE对应userAgent信息;其中MSIE后面的数字代表当前版本,如图:笔者所有为ie9.0
另外, 只有IE支持创建ActiveX控件,因此她有一个其他浏览器没有的东西,就是ActiveXObject函数。只要判断window对象存在 ActiveXObject函数,就可以明确判断出当前浏览器是IE。
-
Opera对应userAgent信息:
OPR/后面紧跟的25.0...数字串为当前Opera浏览器版本
-
Safari对应userAgent信息
Version/后面紧跟的5.1.7为Safari浏览器当前版本
- var isIE11 = userAgent.indexOf('Trident') > -1 && userAgent.indexOf("rv:11.0") > -1; //判断是否IE11浏览器
- var isEdge = userAgent.indexOf("Edge") > -1 && !isIE; //判断是否IE的Edge浏览器