JavaScript获取浏览器版本等信息
封面图
•
2025-10-06
•
JavaScript
159
0
0
0
在 JavaScript 中,你可以通过 `navigator` 对象来获取浏览器的一些基本信息,例如: - 浏览器名称(如 Chrome、Firefox、Edge) - 浏览器版本 - 操作系统信息 - 是否为移动设备等 不过需要注意的是:**JavaScript 无法直接获取完整的浏览器版本信息(如 Chrome 123.456.789),但可以获取部分版本号**。 --- ## ✅ 获取浏览器信息的常用方法 ### 1. **获取浏览器名称和版本** ```javascript const userAgent = navigator.userAgent; // 判断浏览器类型 let browserName = "Unknown"; let browserVersion = "Unknown"; if (userAgent.indexOf("Edg") > -1) { browserName = "Microsoft Edge"; browserVersion = userAgent.match(/Edg\/([\d.]+)/)[1]; } else if (userAgent.indexOf("Chrome") > -1 && userAgent.indexOf("Edg") === -1) { browserName = "Google Chrome"; browserVersion = userAgent.match(/Chrome\/([\d.]+)/)[1]; } else if (userAgent.indexOf("Safari") > -1 && userAgent.indexOf("Chrome") === -1) { browserName = "Apple Safari"; browserVersion = userAgent.match(/Version\/([\d.]+)/)[1]; } else if (userAgent.indexOf("Firefox") > -1) { browserName = "Mozilla Firefox"; browserVersion = userAgent.match(/Firefox\/([\d.]+)/)[1]; } else if (userAgent.indexOf("MSIE") > -1 || userAgent.indexOf("Trident") > -1) { browserName = "Internet Explorer"; browserVersion = userAgent.match(/MSIE ([\d.]+)/) ? userAgent.match(/MSIE ([\d.]+)/)[1] : "11"; } else if (userAgent.indexOf("Opera") > -1 || userAgent.indexOf("OPR") > -1) { browserName = "Opera"; browserVersion = userAgent.match(/Opera\/([\d.]+)/) ? userAgent.match(/Opera\/([\d.]+)/)[1] : userAgent.match(/OPR\/([\d.]+)/)[1]; } console.log("Browser Name:", browserName); console.log("Browser Version:", browserVersion); ``` --- ### 2. **获取操作系统信息** ```javascript const os = navigator.platform; console.log("Operating System:", os); ``` 输出可能是: - `"Win32"`(Windows) - `"MacIntel"`(macOS) - `"Linux x86_64"`(Linux) - `"Android"`(安卓) - `"iPhone"`(iOS) --- ### 3. **判断是否为移动端** ```javascript const isMobile = /Mobi|Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent); console.log("Is Mobile Device:", isMobile); ``` --- ### 4. **获取浏览器语言** ```javascript const language = navigator.language || navigator.userLanguage; console.log("Language:", language); ``` --- ## ⚠️ 注意事项 - **安全限制**:某些信息(如完整浏览器版本)可能因安全原因被限制或隐藏。 - **用户代理伪造**:`navigator.userAgent` 可以被修改(如使用浏览器扩展或开发者工具),因此不能完全信任。 - **不推荐用于安全验证**:不要依赖 `userAgent` 来做关键的安全逻辑判断。 --- ## ✅ 推荐做法 如果你需要更精确的浏览器检测,建议使用 [Modernizr](https://modernizr.com/) 或 [UA Parser](https://github.com/madrobby/ua-parser-js) 这类库来解析用户代理字符串。 --- 如果你有具体需求(比如判断是 Chrome 120 版本还是其他),我可以帮你写更精准的代码。欢迎继续提问!
上一篇:
js如何打印object对象
下一篇:
NodeJS Socket.io
标题录入,一次不能超过6条
返回顶部
留言
留言
评论