十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

从Windows XP到macOS Tahoe:express-useragent识别操作系统与移动设备的完整指南

从Windows XP到macOS Tahoe:express-useragent识别操作系统与移动设备的完整指南 从Windows XP到macOS Tahoeexpress-useragent识别操作系统与移动设备的完整指南【免费下载链接】express-useragentNodeJS user-agent middleware项目地址: https://gitcode.com/gh_mirrors/ex/express-useragent还在为网站访客用什么系统、什么设备头疼吗express-useragent是一款轻量、快速的User-Agent 解析中间件能帮你在 Node.js / Express 项目里精准识别操作系统、浏览器、移动设备、平板与爬虫。从古老的 Windows XP、Windows 7到最新的 macOS TahoeMac OS 26再到 Android、iPhone、iPad它都能一键解析让你的网站真正做到千人千面。为什么需要识别操作系统与设备访客的User-Agent字符串里藏着设备指纹。解析它你可以 为手机用户返回响应式精简页面提升加载速度️ 按操作系统做兼容性提示如建议升级浏览器 识别爬虫 / 机器人做限流或 SEO 统计 在日志与统计里记录访客的系统 / 浏览器 / 平台分布express-useragent把这些判断封装成简单字段无需你手写正则。5 分钟上手安装与快速开始只需一条命令即可安装要求 Node.js 18 及以上npm install express-useragent如果你希望直接查看或参与源码也可从仓库克隆git clone https://gitcode.com/gh_mirrors/ex/express-useragent最简用法只需两行拿到解析结果import { UserAgent } from express-useragent; const agent new UserAgent().hydrate(uaString); console.log(agent.os, agent.platform, agent.isMobile);想跑个现成的小例子可以参考 examples/simple.ts 这个目录结构中的示例脚本它会打印出浏览器、版本与操作系统。操作系统识别从 Windows XP 到 macOS Tahoeexpress-useragent内置了一整套操作系统匹配规则覆盖了你几乎能遇到的所有桌面系统。核心识别逻辑位于src/express-useragent.ts的getOS方法中。Windows 全家族覆盖系统识别来源Windows 11UA 含Windows 11令牌Windows 10 / 8.1 / 8 / 7Windows NT 6.xWindows XP / 2000 / 2003Windows NT 5.xWindows Phone 8 / 8.1Windows Phone x.xmacOS 全版本覆盖含最新 Tahoe版本识别结果OS X Cheetah ~ El CapitanOS X 10.0至10.11Sierra / High Sierra / MojavemacOS Sierra等Big Sur / Monterey / VenturamacOS Big Sur等Sonoma / Sequoia / TahoemacOS Sonoma/Sequoia/Tahoe也就是说无论用户用的是二十年前的Windows XP还是刚发布的macOS Tahoe你都能拿到一个清晰的os字符串。相关回归测试可参考tests/macos.test.ts与tests/windows.test.ts它们逐一验证了从 Catalina 到 Tahoe 的每一档版本。移动设备识别手机、平板与原生应用移动端判断同样开箱即用主要字段都在Agent对象上isMobile—— 是否移动设备isTablet—— 是否平板isiPad/isiPhone/isiPod—— 苹果设备细分isAndroid/isAndroidNative/isAndroidTablet—— 安卓手机、原生 App、安卓平板isMobileNative—— 是否为原生应用如 Dalvik / OkHttp 客户端isSmartTV—— 是否为智能电视isBot/botName—— 是否爬虫以及爬虫名称解析逻辑封装在testMobile、testTablet、testAndroidTablet、testBot等方法里。以一段真实的安卓 UA 为例Mozilla/5.0 (Linux; U; Android 4.1.2; en-us; SAMSUNG-SGH-I777 Build/JZO54K) ...解析后你会得到isAndroid: true、isMobile: true、platform: Android、os: Linux并正确标记出三星设备。这些行为在tests/android.test.ts中都有覆盖。认识解析结果Agent 对象字段一次解析会返回一个结构化的Agent对象关键字段如下browser/version浏览器名称与版本如Chrome、118.0.0os操作系统如macOS Sonoma、Windows 11platform平台如Apple Mac、Android、Microsoft Windowssource原始 User-Agent 字符串一堆布尔标志isMobile、isDesktop、isBot、isWindows、isMac等这些字段让你做条件分支时非常直观无需再碰原始字符串。实战在 Express 中间件中一行接入接入 Express 后每个请求会自动带上req.useragent中间件工厂函数在src/index.ts中导出import express from express; import { express as useragent } from express-useragent; const app express(); app.use(useragent()); app.get(/, (req, res) { res.json({ browser: req.useragent?.browser, os: req.useragent?.os, isMobile: req.useragent?.isMobile, isBot: req.useragent?.isBot, }); }); app.listen(3000);这样任何路由里都能通过req.useragent拿到当前访客的系统、浏览器与设备类型实现按设备下发不同页面的能力。常见最佳实践✅ 优先读取req.useragent的布尔字段做判断比解析原始字符串更稳✅ 对爬虫isBot做限流或统计保护接口✅ 用isMobileisTablet决定返回哪套模板✅ 升级系统版本后注意os字符串可能新增取值记得同步统计口径小结express-useragent把识别操作系统与移动设备这件琐碎但重要的事变得极简一行中间件接入从 Windows XP 到 macOS Tahoe、从 iPhone 到智能电视全部字段一目了然。如果你正在做需要感知访客环境的 Node.js / Express 项目它几乎是你零成本、最省心的选择。【免费下载链接】express-useragentNodeJS user-agent middleware项目地址: https://gitcode.com/gh_mirrors/ex/express-useragent创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表