JS获取当前使用的浏览器名字以及版本号

工作中需要通过JS去获取当前使用的浏览器的名字以及版本号,网上大堆资料都有一个关键词是 navigator.appName,但是这个方法获取的浏览器的名字只有两种要么是IE要么就是Netscap,倒是可以用来判断是否使用了IE,但是我想获取具体的浏览器产品名字比如  Firefox,Chrome等。所以只好通过navigator.userAgent,但是这个字符串是非常长的,分析他的特征,通过正则表达式来解决这个问题是不错的方法。

 (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() ;
//console.log(browser); 
var verinfo = (browser+"").replace(/[^0-9.]/ig,""); 
原文地址:https://www.cnblogs.com/makan/p/4739454.html