做网站分析、风控、设备适配时,第一手信息往往就是浏览器发来的 User-Agent 字符串。可惜 UA 格式千奇百怪,自己写正则既容易漏又难维护,遇到 Client Hints、AI 爬虫、Bot 更是捉襟见肘。ua-parser-js 把这套解析做成一个零依赖、可跑在浏览器和 Node 的小库,省去重复造轮子。
项目基本信息
| 信息项 | 详情 |
|---|---|
| 项目名称 | ua-parser-js |
| GitHub地址 | https://github.com/faisalman/ua-parser-js |
| 项目描述 | 轻量无依赖的User-Agent解析库,识别浏览器/系统/设备/Bot/AI爬虫 |
| 作者 | faisalman |
| 开源协议 | GNU Affero General Public License v3.0 |
| 开源状态 | 公开 |
| Languages | JavaScript |
| 支持平台 | Web |
| 最后更新 | 2026-09-29 |
一、项目介绍
ua-parser-js 是一个紧凑、兼容 ES5、零依赖的 JavaScript 库,用于解析 User-Agent。它基于一份持续维护、规模庞大的检测数据库,可识别各类浏览器、操作系统、设备、Bot、App 以及 AI 爬虫。v2.x 起采用 AGPL 协议,同时提供 MIT 的 v1.x 与商业 PRO 版本,按需选择。
二、核心优势
- 全面检测:浏览器、OS、设备、渲染引擎、CPU、Bot、AI 爬虫全覆盖。
- 久经考验:背靠活跃维护的大型检测库,被众多科技公司采用。
- 处处可跑:浏览器、Node.js 与现代 JS 运行时通用。
- 双许可:v1.x 用 MIT(适合宽松授权),v2.x 用 AGPL(功能更全)。
- 托管 REST API:不想自己装,可直接调官方解析接口。
三、适用场景
- 网站分析里按浏览器 / 设备维度统计访客。
- 风控与安全识别 Bot、爬虫、AI 抓取器。
- 针对不同设备返回差异化页面或资源。
- 服务端日志的 UA 归并分析。
四、安装教程
通过 npm 安装:
npm install ua-parser-js或 yarn:
yarn add ua-parser-js常见报错:若项目锁在旧版 v0.7 / v1.0,升级到 v2.x 前请先读 CHANGELOG 了解破坏性变更;浏览器里直接引入 UMD 构建即可,无需打包。
五、使用示例
在 Node 或浏览器中解析请求 UA:
import UAParser from 'ua-parser-js';
const parser = new UAParser();
const result = parser.setUA(req.headers['user-agent']).getResult();
console.log(result.browser, result.os, result.device);输出:返回 { ua, browser, engine, os, device, cpu, ... } 结构化对象,便于直接取用。
六、常见问题
- v1 和 v2 怎么选?需要宽松 MIT 且无 Bot/AI 检测选 v1;要完整检测与 Client Hints 选 v2(AGPL)。
- 商用要注意什么?v2 是 AGPL 强 copyleft,闭源商用需购买 PRO 许可。
- 性能如何?纯前端解析,单条 UA 开销极低,适合高频调用。
七、总结
ua-parser-js 把繁琐的 UA 解析收敛成一个稳定、可移植的小库,是 Web 分析、风控、设备适配的常用基石。AGPL-3.0(v2)/ MIT(v1)双许可,按授权需求取用即可。
评论 0
还没有评论,来说两句吧。