摘要: 本教程将介绍 JavaScript 导航器对象及其属性。
JavaScript 导航器对象的介绍
JavaScript 导航器提供了有关 Web 浏览器及其功能的信息。您可以通过只读的 window.navigator 属性引用导航器对象。
Navigator 对象具有传递浏览器信息的属性。例如,userAgent 是 window.navigator 对象的一个属性。它是一个很长的字符串,用于识别 Web 浏览器。
window.navigator.userAgent
Code language: CSS (css)在 Google Chrome 中,您可能会看到以下输出
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.117 Safari/537.36"
Code language: JSON / JSON with Comments (json)请注意,userAgent 可能略有不同,具体取决于 Google Chrome 版本。
不同的 Web 浏览器提供特定的功能,这些功能没有标准化。最好不要使用 userAgent 来识别 Web 浏览器,因为某些 Web 浏览器允许用户修改 userAgent 以假装使用不同的浏览器。
例如,您可以使用以下代码来检测当前 Web 浏览器是否为 Internet Explorer
if(navigator.userAgent.includes('MSIE')) {
// IE, use specific features of IE
} else {
// not IE
}
Code language: JavaScript (javascript)要使用 Web 浏览器的特定功能,您可以使用功能检测。例如
if( typeof window.addEventListener === 'function' ) {
// let's use addEventListener
} else {
// addEventListener is not supported, use another way
}
Code language: JavaScript (javascript)JavaScript 导航器属性和方法
下表说明了 JavaScript Navigator 属性和方法
| 属性/方法 | 描述 |
|---|---|
| activeVrDisplays | 返回一个数组,其中包含每个 VRDisplay 实例,其 presenting 属性设置为 true |
| appCodeName | 即使在非 Mozilla 浏览器中也返回“Mozilla”。 |
| appName | 返回完整的浏览器名称。 |
| appVersion | 返回浏览器版本。但是,它通常与浏览器的实际版本不符。 |
| battery | 返回一个 BatteryManager 对象,用于与电池状态 API 交互 |
| buildId | 返回 Web 浏览器的版本号。 |
| connection | 返回一个 NetworkInformation 对象,用于与网络信息 API 交互 |
| cookieEnabled | 如果启用了 cookie,则返回 true;否则返回 false。 |
| credentials | 返回一个 CredentialsContainer,用于与凭据管理 API 交互 |
| deviceMemory | 返回设备内存的容量,单位为千兆字节。 |
| doNotTrack | 返回用户的“请勿跟踪”偏好设置。 |
| geolocation | 返回一个 Geolocation 对象,用于与地理位置 API 交互。 |
| getVRDisplays() | 如果可用,则返回一个数组,其中包含每个 VRDisplay 实例。 |
| getUserMedia() | 返回与可用媒体设备硬件相关的流。 |
| hardwareConcurrency | 返回设备的处理器核心数量 |
| javaEnabled | 确定浏览器中是否启用了 Java。 |
| language | 返回浏览器的首选语言。 |
| languages | 返回一个数组,其中包含所有浏览器的首选语言。 |
| locks | 返回一个 LockManager 对象,用于与 Web 锁定 API 交互。 |
| mediaCapabilities | 返回一个 MediaCapabilities 对象,用于与媒体功能 API 交互 |
| mediaDevices | 返回可用的媒体设备。 |
| maxTouchPoints | 返回设备触摸屏支持的最大触摸点数 |
| mimeTypes | 返回一个数组,其中包含在浏览器中注册的 MIME 类型。 |
| onLine | 指定浏览器是否已连接到互联网。 |
| oscpu | 运行浏览器的操作系统 (OS) 和/或 CPU。 |
| permissions | 返回 Permissions 对象,用于与 Permissions API 交互。 |
| platform | 返回运行浏览器的系统平台。 |
| plugins | 返回一个数组,其中包含已安装的浏览器的插件。 |
| product | 返回产品的名称。 |
| productSub | 返回有关产品的额外信息。 |
| registerProtocolHandler() | 将网站注册为特定协议的处理程序。 |
| requestMediaKeySystemAccess() | 返回一个 Promise,该 Promise 解析为 MediaKeySystemAccess 对象。 |
| sendBeacon() | 异步传输少量有效负载。 |
| serviceWorker | 返回用于与 ServiceWorker 对象交互的 ServiceWorkerContainer |
| share() | 调用当前平台的本机共享机制。 |
| storage | 返回 StorageManager 对象,用于与 Storage API 交互。 |
| userAgent | 表示浏览器的用户代理字符串。 |
| vendor | 返回浏览器的品牌名称。 |
| vendorSub | 返回有关浏览器供应商的额外信息。 |
| vibrate() | 如果支持振动,则触发设备振动。 |
| webdriver | 确定浏览器当前是否受自动化控制。 |
本教程对您有帮助吗?