js获取浏览器版本

js获取浏览器版本

返回值格式如“chrome 88.0.4324.190”,浏览器包括IE、OLD_IE、Edge、firefox、Opera、Safari、QQ、火狐、微信。Chrome,其他未涉及到的可以根据“agent”字段自定义,需要注意的一点是,一个浏览器的userAgent有多个类型,例如QQ和火狐都包括chrome,所以需要注意研究下userAgent做判断

function getBrowserInfo() {
  let agent = navigator.userAgent.toLowerCase();
  console.log(agent);
  // let system = agent.split(' ')[1].split(' ')[0].split('(')[1];
  let REGSTR_EDGE = /edge\/[\d.]+/gi;
  let REGSTR_IE = /trident\/[\d.]+/gi;
  let OLD_IE = /msie\s[\d.]+/gi;
  let REGSTR_FF = /firefox\/[\d.]+/gi;
  let REGSTR_CHROME = /chrome\/[\d.]+/gi;
  let REGSTR_SAF = /safari\/[\d.]+/gi;
  let REGSTR_OPERA = /opr\/[\d.]+/gi;
  let REGSTR_QQ = /qqbrowser\/[\d.]+/gi;
  let REGSTR_METASR = /metasr\+/gi;
  let REGSTR_WECHAT = /MicroMessenger\/[\d.]+/gi;

  if (agent.indexOf('trident') > 0) {
    // IE
    return agent.match(REGSTR_IE)[0].split('/')[0] + ' ' + agent.match(REGSTR_IE)[0].split('/')[1];
  } else if (agent.indexOf('msie') > 0) {
    // OLD_IE
    return agent.match(OLD_IE)[0].split('/')[0] + ' ' + agent.match(OLD_IE)[0].split('/')[1];
  } else if (agent.indexOf('edge') > 0) {
    // Edge
    return agent.match(REGSTR_EDGE)[0].split('/')[0] + ' ' + agent.match(REGSTR_EDGE)[0].split('/')[1];
  } else if (agent.indexOf('firefox') > 0) {
    // firefox
    return  agent.match(REGSTR_FF)[0].split('/')[0] + ' ' + agent.match(REGSTR_FF)[0].split('/')[1];
  } else if (agent.indexOf('opr') > 0) {
    // Opera
    return  agent.match(REGSTR_OPERA)[0].split('/')[0] + ' ' + agent.match(REGSTR_OPERA)[0].split('/')[1];
  } else if (agent.indexOf('safari') > 0 && agent.indexOf('chrome') < 0) {
    // Safari
    return  agent.match(REGSTR_SAF)[0].split('/')[0] + ' ' + agent.match(REGSTR_SAF)[0].split('/')[1];
  } else if (agent.indexOf('qqbrowse') > 0) {
    // qqbrowse
    return  agent.match(REGSTR_QQ)[0].split('/')[0] + ' ' + agent.match(REGSTR_QQ)[0].split('/')[1];
  } else if (agent.indexOf('metasr') > 0) {
    // metasr火狐
    return 'metasr';
  } else if (agent.indexOf('micromessenger') > 0) {
    // 微信内置浏览器
    return  agent.match(REGSTR_WECHAT)[0].split('/')[0] + ' ' + agent.match(REGSTR_WECHAT)[0].split('/')[1];
  } else if (agent.indexOf('chrome') > 0) {
    // Chrome
    return  agent.match(REGSTR_CHROME)[0].split('/')[0] + ' ' + agent.match(REGSTR_CHROME)[0].split('/')[1];
  } else {
    return '未获取到浏览器信息';
  }
}

参考资料:
https://blog.csdn.net/xuaner8786/article/details/107084777

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值