美文网首页
JavaScript获取浏览器类型与版本

JavaScript获取浏览器类型与版本

作者: 李颖轩_LiYingxuan | 来源:发表于2019-04-30 17:51 被阅读0次

之前用了一个高端方法,发现在edge上返回结果也是chrome,一脸懵逼,于是改了一个特别蠢的方法,但是好用。。。

  /**
   * 获取当前浏览系统的信息
   */
  getSysInfo() {
    let sys = {};
    let ua = navigator.userAgent.toLowerCase();

    let isOpera = ua.indexOf("opera") > -1;
    let isIE =
      ua.indexOf("compatible") > -1 && ua.indexOf("msie") > -1 && !isOpera;
    let isEdge = ua.indexOf("edge") > -1;
    let isFF = ua.indexOf("firefox") > -1;
    let isSafari = ua.indexOf("safari") > -1 && ua.indexOf("chrome") === -1;
    let isChrome = ua.indexOf("chrome") > -1 && ua.indexOf("safari") > -1;

    if (isIE) sys.browser = "ie";
    else if (isOpera) sys.browser = "opera";
    else if (isEdge) sys.browser = "edge";
    else if (isFF) sys.browser = "firefox";
    else if (isSafari) sys.browser = "safari";
    else if (isChrome) sys.browser = "chrome";

    sys.isMobile = ua.indexOf("mobile") > -1;

    return sys;
  }

老方法看着高端,也提供一下。【在edge上不好使】

  /**
   * 获取当前浏览系统的信息
   */
  getSysInfo() {
    let sys = {};
    let ua = navigator.userAgent.toLowerCase();
    let re = /(msie|edge|firefox|chrome|opera|version).*?([\d.]+)/;
    let m = ua.match(re);
    sys.browser = m[1].replace(/version/, "'safari");
    sys.ver = m[2];
    sys.isMobile = ua.indexOf("mobile") > -1;

    return sys;
  }

The end.

相关文章

网友评论

      本文标题:JavaScript获取浏览器类型与版本

      本文链接:https://www.haomeiwen.com/subject/cmeguftx.html