摘要: 本教程将介绍 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 | 确定浏览器当前是否受自动化控制。 |
本教程对您有帮助吗?