区分移动端与桌面端 UA
User-Agent 指南
做响应式服务器处理或统计时,会参考 User-Agent 来划分设备类型。最可靠的信号是字符串中包含的 Mobile 令牌。
关键信号
- 桌面端:
Windows NT、Macintosh、X11; Linux等平台令牌 - 移动端:
Mobile令牌 +Android或iPhone - 平板:
iPad,或者是Android但没有Mobile的情况
常见陷阱
iPadOS 的 Safari 默认请求桌面版网站,因此会发送与 macOS 几乎相同的 UA。这样一来可能没有 iPad 令牌,仅凭 UA 很容易把 iPad 误认为桌面端。
更好的方法
屏幕尺寸·触摸支持等实际功能,用 JavaScript 或 CSS 媒体查询来检测比用 UA 更准确。建议 UA 只用于服务器端的初步推断,精细的分支在客户端处理。
归根结底,设备判别在结合 UA(服务器)+ 功能检测(客户端)时最为稳固。