js获取客户端浏览器信息
封面图
•
2025-10-25
•
JavaScript
178
0
0
0
在 JavaScript 中,可以通过 `navigator` 对象来获取客户端浏览器的信息。以下是一些常用的属性和方法: --- ### ✅ 常用的 `navigator` 属性 | 属性 | 说明 | |------|------| | `navigator.userAgent` | 返回用户代理字符串(包含浏览器名称、版本、操作系统等信息) | | `navigator.appName` | 返回浏览器的名称(如 "Netscape") | | `navigator.appVersion` | 返回浏览器的版本信息 | | `navigator.platform` | 返回用户的操作系统(如 "Win32"、"MacIntel" 等) | | `navigator.language` | 返回用户的语言设置(如 "zh-CN") | | `navigator.cookieEnabled` | 返回是否启用 Cookie | | `navigator.onLine` | 返回浏览器是否在线 | | `navigator.userAgentData` | 提供更安全的用户代理数据(较新浏览器支持) | --- ### 🧪 示例代码 ```javascript console.log("User Agent:", navigator.userAgent); console.log("Browser Name:", navigator.appName); console.log("Browser Version:", navigator.appVersion); console.log("Platform:", navigator.platform); console.log("Language:", navigator.language); console.log("Cookies Enabled:", navigator.cookieEnabled); console.log("Online Status:", navigator.onLine); ``` --- ### 🔍 获取浏览器品牌和版本(使用 `userAgent`) 虽然 `userAgent` 可以被伪造,但可以用于基本识别: ```javascript const ua = navigator.userAgent; // 检查是否是 Chrome const isChrome = /Chrome/.test(ua) && !/Edg/.test(ua); // 检查是否是 Edge const isEdge = /Edg/.test(ua); // 检查是否是 Firefox const isFirefox = /Firefox/.test(ua); // 检查是否是 Safari const isSafari = /Safari/.test(ua) && !/Chrome/.test(ua); // 检查是否是 IE const isIE = /MSIE|Trident/.test(ua); console.log("Is Chrome:", isChrome); console.log("Is Edge:", isEdge); console.log("Is Firefox:", isFirefox); console.log("Is Safari:", isSafari); console.log("Is IE:", isIE); ``` --- ### ⚠️ 注意事项 - **安全性**:`navigator.userAgent` 可以被修改,因此不能完全依赖它进行安全判断。 - **隐私**:现代浏览器为了保护用户隐私,限制了部分信息的访问(如 `navigator.userAgentData` 是一个更安全的方式)。 --- ### 🛠 使用 `navigator.userAgentData`(现代浏览器支持) ```javascript if (navigator.userAgentData) { navigator.userAgentData.getHighEntropyValues(['platform', 'platformVersion', 'brands']) .then(data => { console.log("Platform:", data.platform); console.log("Platform Version:", data.platformVersion); console.log("Brands:", data.brands); }); } ``` --- 如果你有特定的需求(比如检测某个浏览器或版本),我可以帮你写更具体的代码。需要吗?
上一篇:
socke.io.emit 方法
下一篇:
实时监听输入框值变化的完美方案:oninput & onpropertychange
标题录入,一次不能超过6条
返回顶部
留言
留言
评论