在前端开发中,常常需要用到 UA 解析工具,以确定用户的设备类型和浏览器版本等信息。而 uc.micro
成为了一个优秀的 Node.js UA 解析库,通过此包,可以方便的解析不同 User-Agent 字符串。
安装
在使用 uc.micro
之前,需要先在所属项目中安装。
# 使用 npm 安装 npm install uc.micro --save
方法
uc.micro
提供了多个函数,用于获取解析到的 UA 信息。其中较为常用的方法有:
isAndroid(ua: string): boolean
检测是否为安卓设备。isIPad(ua: string): boolean
检测是否为 iPad 设备。isIPhone(ua: string): boolean
检测是否为 iPhone 设备。isMac(ua: string): boolean
检测是否为 Mac 设备。isMobile(ua: string): boolean
检测是否为移动设备。isWechat(ua: string): boolean
检测是否为微信内置浏览器。
同时,uc.micro
也提供了更加详细的信息统计方法,如:
parse(ua: string): UA|null
解析 User-Agent 字符串,返回解析后的 UA 信息。UAParser
返回一个 UAParser 类型的对象,用于获取解析后的 UA 信息。
这里,我们将详细介绍如何使用 parse
方法获取 UA 信息。
使用
用户可以通过调用库中提供的 parse
方法,完成 UA 字符串的解析。解析后的信息中包括了操作系统名称、版本、浏览器名称、版本等详细信息。
以下是 parse
方法的基本使用示例:
-- -------------------- ---- ------- ----- - ----- - - -------------------- ----- -- - ------------ -------- -- ----- ------ ---- ------------------ ------- ---- ------ -------------------- -------------- ----- ------ - ---------- -- -------- - ------------------ --------------- ---------------------------- ----------------------- -------------------- --------------------- ------------------------ -
输出结果如下:
os: Windows 10 browser: Chrome 58 58.0.3029.110
在解析后的信息中,os.name
表示操作系统名称,os.version.original
表示操作系统版本号,browser.name
表示浏览器名称,browser.major
表示浏览器主版本号,browser.version
表示浏览器版本号。
我们可以根据不同的需求,提取不同的 UA 信息。例如,判断是否为低版本 IE 浏览器:
-- -------------------- ---- ------- ----- -- - ------------ ------------ ---- ---- ------- -- ---- ------------ ------ ---- --- ---------- ----- ------ -- ---- ---- --- ---------- ---- --- ------------ ----- ------ - ---------- -- -------- - ----- ----------- - -------------------- ----- ----------- - ----------------------- ----- ------------ - ------------------------------- -- ------------ --- ---- -- ------------ -- -- - ---------------- -- ------ - -
当然,用户也可以将 parse
方法的返回信息包装为更为便捷的格式进行使用。例如:
-- -------------------- ---- ------- ----- - ----- - - -------------------- -------- ------------- - ----- ------ - ---------- -- -------- - ------ - --- --------------- -------- -------------------- -------- ----------------------- ------- ------------------- -- - ------ ----- - ---------------------------------- -------- -- ---- ------ ---- ------------------ ------- ---- ------ ------------------- -----------------
输出结果如下:
{ os: 'Windows 7', browser: 'Chrome', version: '84.0.4147.89', engine: 'WebKit' }
总结
uc.micro
是一个非常优秀的 UA 解析库,在前端开发中有广泛的应用。其提供的 parse
方法可以获取到准确的 UA 信息,而其他方法也能够轻松的解析出 UA 的特定信息,对进行用户设备及浏览器兼容性判断以及设备适配等工作有很大帮助。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/61981