前端获取浏览器类型和版本,记录一下~

前端开发有时候需要判断浏览器类型,在网上找了一些,记录一下,方便以后使用

  /*
   * 获取浏览器版本信息
   */
  getBrowerInfo() {
    let userAgent = window.navigator.userAgent.toLowerCase();
    let browserType = "";
    let browserVersion = "";
    // let isIE =
    //   userAgent.match(/msie/) != null || userAgent.match(/trident/) != null;
    // 浏览器类型-IE
    if (userAgent.match(/msie/) != null || userAgent.match(/trident/) != null) {
      browserType = "IE";
      browserVersion = this.getIeVersion();
    }
    // 欧朋
    else if (window.opera || userAgent.indexOf("opr") > 0) {
      browserType = "欧朋";
      browserVersion = this.getOperaVersion(userAgent);
    }
    // UC
    else if (userAgent.indexOf("ubrowser") > 0) {
      browserType = "UC";
      browserVersion = userAgent.match(/ubrowser\/([\d.]+)/)[1];
    }
    // 百度
    else if (userAgent.indexOf("bidubrowser") > 0) {
      browserType = "百度";
      browserVersion = userAgent.match(/bidubrowser\/([\d.]+)/)[1];
    }
    // 搜狗
    else if (
      userAgent.indexOf("metasr") > 0 ||
      userAgent.indexOf("se 2.x") > 0
    ) {
      browserType = "搜狗";
      // browserVersion =  userAgent.match(/metasr\/([\d.]+)/)[1]
    }
    // QQ
    else if (userAgent.indexOf("tencenttraveler") > 0) {
      browserType = "QQ";
      browserVersion = userAgent.match(/tencenttraveler\/([\d.]+)/)[1];
    }
    // QQ
    else if (userAgent.indexOf("qqbrowser") > 0) {
      browserType = "QQ";
      browserVersion = userAgent.match(/qqbrowser\/([\d.]+)/)[1];
    }
    // 遨游
    else if (userAgent.indexOf("maxthon") > 0) {
      browserType = "遨游";
      browserVersion = userAgent.match(/maxthon\/([\d.]+)/)[1];
    }
    // 火狐
    else if (userAgent.indexOf("firefox") > 0) {
      browserType = "火狐";
      browserVersion = userAgent.match(/firefox\/([\d.]+)/)[1];
    }
    // edge
    else if (userAgent.indexOf("edge") > 0) {
      browserType = "Edge";
      browserVersion = userAgent.match(/edge\/([\d.]+)/)[1];
    }
    // 谷歌/360
    else if (userAgent.indexOf("chrome") > 0) {
      if (this.validate360("type", "application/x360mmplugin")) {
        browserType = "360";
        // browserVersion =  userAgent.match(/chrome\/([\d.]+)/)[1]
      } else {
        browserType = "谷歌";
        browserVersion = userAgent.match(/chrome\/([\d.]+)/)[1];
      }
    }
    // 苹果
    else if (userAgent.indexOf("Safari") > -1) {
      browserType = "Safari";
      browserVersion = userAgent.match(/version\/([\d.]+)/)[1];
    }
    return "浏览器版本信息 = " + browserType + " " + browserVersion;
  },
    /*
   * 获取IE浏览器版本
   */
  getIeVersion() {
    let IEMode = document.documentMode;
    let rMsie = /(msie\s|trident.*rv:)([\w.]+)/;
    let ma = window.navigator.userAgent.toLowerCase();
    let match = rMsie.exec(ma);
    try {
      return match[2];
    } catch (e) {
      return IEMode;
    }
  },
  // 欧朋浏览器版本
  getOperaVersion(userAgent) {
    try {
      if (window.opera) {
        return userAgent.match(/opera.([\d.]+)/)[1];
      } else if (userAgent.indexOf("opr") > 0) {
        return userAgent.match(/opr\/([\d.]+)/)[1];
      }
    } catch (e) {
      return 0;
    }
  },
  /*
   * 判断是否为360浏览器
   */
  validate360(option, value) {
    let mimeTypes = window.navigator.mimeTypes;
    for (let mt in mimeTypes) {
      // console.log(mimeTypes[mt][option]);
      if (mimeTypes[mt][option] == value) {
        return true;
      }
    }
    return false;
  }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值