Skip to content

detectOS

检测操作系统类型,支持识别 Windows、macOS、Linux、iOS 和 Android。

前置依赖

依赖参数

参数名类型说明
deps.userAgentstring用户代理字符串

环境要求

  • 浏览器环境: 需要访问 navigator.userAgent

函数签名

typescript
function detectOS(deps: DetectOSDeps): OSType

interface DetectOSDeps {
  userAgent: string
}

type OSType = 'Windows' | 'macOS' | 'Linux' | 'iOS' | 'Android' | 'Unknown'

参数

参数名类型必填说明
depsDetectOSDeps依赖对象
deps.userAgentstring用户代理字符串,通常从 navigator.userAgent 获取

返回值

类型说明
OSType操作系统类型,可能的值:'Windows''macOS''Linux''iOS''Android''Unknown'

工作原理

  1. 检查 User Agent 是否包含 iOS 设备标识(iPhone、iPad、iPod)
  2. 检查 User Agent 是否包含 Android 标识
  3. 检查 User Agent 是否包含 macOS 标识(Mac OS X、Macintosh)
  4. 检查 User Agent 是否包含 Windows 标识
  5. 检查 User Agent 是否包含 Linux 标识
  6. 如果都不匹配,返回 'Unknown'

检测优先级按照移动端优先的原则,先检测 iOS 和 Android,再检测桌面系统。

异常

无异常抛出