parseUA

解析用户代理(User-Agent)字符串,从中提取浏览器、操作系统和设备的相关信息。这在需要根据用户使用的设备或浏览器进行不同处理的场景下非常有用。

使用场景

  • 功能适配:根据不同浏览器或设备的特性,提供不同的功能或界面。
  • 统计分析:收集用户使用的浏览器和操作系统的统计数据。
  • 兼容性处理:针对特定浏览器或操作系统的兼容性问题进行处理。

示例

import { parseUA } from 'funtool';

const userAgent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36';
const result = parseUA(userAgent);

console.log(result.browser.name); // 'Chrome'
console.log(result.os.name); // 'Mac OS X'
console.log(result.device.type); // 'Desktop'

函数签名

function parseUA(userAgent: string): {
  browser: {
    name: string;
    version: string;
  };
  os: {
    name: string;
    version: string;
  };
  device: {
    type: string;
    model: string;
  };
}

参数

  • userAgent: 要解析的用户代理字符串。

返回值

返回一个包含浏览器、操作系统和设备信息的对象,具体结构如下:

  • browser: 包含 name(浏览器名称)和 version(浏览器版本)。
  • os: 包含 name(操作系统名称)和 version(操作系统版本)。
  • device: 包含 type(设备类型,如桌面端、移动端等)和 model(设备型号)。

注意事项

  • 用户代理字符串可能会被伪造,解析结果可能不准确。
  • 不同浏览器和设备的用户代理字符串格式可能不同,解析结果可能存在差异。