阿西河

所有教程

公众号
🌙
阿西河前端的公众号

我的收藏

    最近访问  (文章)

      教程列表

      抓包专区
      测试专区

      JavaScript 如何获取UA

      核心

      获取用户浏览器/代理设备,这个是属于BOM部分的

      主要考察对 navigator 的理解

      代码

      封装一个 browser() 方法

      为了方便使用,这里创建一个方法来返回浏览器的检查结果。返回结果包含有如下属性:

      • webkit:webkit 版本号。如果浏览器为非 webkit 内核,此属性为 undefined。
      • chrome:chrome 浏览器版本号。如果浏览器为 chrome,此属性为 undefined。
      • ie:ie 浏览器版本号。如果浏览器为非 ie,此属性为 undefined。暂不支持 ie10+
      • firefox:firefox 浏览器版本号。如果浏览器为非 firefox,此属性为 undefined。
      • safari:safari 浏览器版本号。如果浏览器为非 safari,此属性为 undefined。
      • opera:opera 浏览器版本号。如果浏览器为非 opera,此属性为 undefined。
        • 新版本webkit 内核
      // 浏览器检查结果
      function browser() {
        var ua = navigator.userAgent;
        var ret = {},
            webkit = ua.match( /WebKit\/([\d.]+)/ ),
            chrome = ua.match( /Chrome\/([\d.]+)/ ) ||
                ua.match( /CriOS\/([\d.]+)/ ),
       
            ie = ua.match( /MSIE\s([\d\.]+)/ ) ||
                ua.match( /(?:trident)(?:.*rv:([\w.]+))?/i ),
            firefox = ua.match( /Firefox\/([\d.]+)/ ),
            safari = ua.match( /Safari\/([\d.]+)/ ),
            opera = ua.match( /OPR\/([\d.]+)/ );
       
        webkit && (ret.webkit = parseFloat( webkit[ 1 ] ));
        chrome && (ret.chrome = parseFloat( chrome[ 1 ] ));
        ie && (ret.ie = parseFloat( ie[ 1 ] ));
        firefox && (ret.firefox = parseFloat( firefox[ 1 ] ));
        safari && (ret.safari = parseFloat( safari[ 1 ] ));
        opera && (ret.opera = parseFloat( opera[ 1 ] ));
        return ret;
      }
      browser()
      

      更多面试题

      如果你想了解更多的前端面试题,可以查看本站的WEB前端面试题 ,这里基本包涵了市场上的所有前端方面的面试题,也有一些大公司的面试图,可以让你面试更加顺利。

      面试题
      HTMLCSSJavaScript
      jQueryVue.jsReact
      算法HTTPBabel
      BootStrapElectronGulp
      Node.js前端经验相关前端综合
      Webpack微信小程序-

      这些题库还在更新中,如果你有不错的面试题库欢迎分享给我,我整理后放上来;人人为我,我为人人,互帮互助,共同提高,祝大家都拿到心仪的Offer!

      目录
      目录