JavaScript 导航器

摘要: 本教程将介绍 JavaScript 导航器对象及其属性。

JavaScript 导航器对象的介绍

JavaScript 导航器提供了有关 Web 浏览器及其功能的信息。您可以通过只读的 window.navigator 属性引用导航器对象。

Navigator 对象具有传递浏览器信息的属性。例如,userAgentwindow.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确定浏览器当前是否受自动化控制。

 

本教程对您有帮助吗?