前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一个小巧实用的User-Agent解析库

一个小巧实用的User-Agent解析库

作者头像
dys
发布2018-04-04 11:31:04
4.6K0
发布2018-04-04 11:31:04
举报
文章被收录于专栏:性能与架构性能与架构

UAParser.js

有时我们需要判断客户端的一些信息,如浏览器的类型、型号等,然后进行相应处理,例如,如果是使用微信访问的,就怎么怎么处理。

这就需要从 User-Agent中获取相应信息,UAParser.js 就是一个专业的 User-Agent 解析工具库。

主要特点:

  • 功能全,使用方便

封装好了方法,可以方便的获取 浏览器的类型、布局引擎、操作系统、cpu类型、设备类型

  • 浏览器、node.js中都可以使用

可用范围广:jQuery/Zepto 插件、Bower/Meteor包、 RequireJS/AMD模块

  • 非常小巧

只有11Kb,如果使用gzip压缩的话只有4Kb

  • 不需要任何依赖

示例

浏览器中使用

代码语言:javascript
复制
<script type="text/javascript" src="dist/ua-parser.min.js"></script>
<script type="text/javascript">
    var parser = new UAParser();
    var result = parser.getResult();
    
    console.log(result.browser);        
    console.log(result.device);         
    console.log(result.os);             
    console.log(result.os.version);   
    console.log(result.engine.name);   
    console.log(result.cpu.architecture);   
</script>    

nodejs中使用

安装

代码语言:javascript
复制
$ npm install ua-parser-js

使用

代码语言:javascript
复制
var http = require('http');
var parser = require('ua-parser-js');

http.createServer(function (req, res) {
    var ua = parser(req.headers['user-agent']);
    res.end(JSON.stringify(ua, null, '  '));
})
.listen(1337, '127.0.0.1');
console.log('Server running at http://127.0.0.1:1337/');

主要方法

获取整体信息

  • getResult()

获取所有信息

{ ua: '', browser: {}, cpu: {}, device: {}, engine: {}, os: {} }

  • getUA()

获取原始User-Agent字符串

获取局部信息

  • getBrowser()

{ name: '', version: '' }

  • getDevice()

{ model: '', type: '', vendor: '' }

  • getEngine()

{ name: '', version: '' }

  • getOS()

{ name: '', version: '' }

小结

解析User-Agent的应用场景可能并不是很多,但可以对UAParser.js有个印象,在需要时能够快速想起他,帮助我们方便的实现需求。

项目地址

代码语言:javascript
复制
https://github.com/faisalman/ua-parser-js
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-11-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 JAVA高性能架构 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • UAParser.js
  • 示例
    • 浏览器中使用
      • nodejs中使用
      • 主要方法
        • 获取整体信息
          • 获取局部信息
          • 小结
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档