Navigator

Baseline Widely available *

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

* Some parts of this feature may have varying levels of support.

Navigator 接口代表了用户代理的状态和身份,它允许脚本对其进行查询并注册自身以便执行某些活动。

可以通过 window.navigator 只读属性获取 Navigator 对象。

实例属性

不继承任何属性

标准属性

返回一个当前文档的 Bluetooth 对象,提供对 web 蓝牙 API 功能的访问。

返回一个用于读写访问系统剪贴板内容的 Clipboard 对象。

返回一个包含有关网络连接信息的 NetworkInformation 对象。

返回一个 ContactsManager 接口,允许用户从他们的联系人列表中选择条目,并与网站或应用程序共享所选条目的有限详细信息。

如果设置 cookie 会被忽略则返回 false,否则返回 true。

返回 CredentialsContainer 接口,该接口暴露了请求凭据及在成功登录或注销等重要事件发生时通知用户代理的方法。

返回设备内存的近似值。该值通过向下取整到最接近的 2 的幂,然后将其除以 1024 来近似。

返回浏览器的 DevicePosture 对象,允许开发者查询设备当前的姿态(即视口是处于平放还是折叠状态),并在姿态变化时执行相应的代码。

返回一个 Geolocation 对象,用于访问设备的位置。

返回当前浏览上下文的 GPU 对象。是 WebGPU API 的入口点。

返回可用的逻辑处理器核心数量。

返回一个 HID 对象,提供用于连接 HID 设备、列出已连接的 HID 设备以及连接的 HID 设备的事件处理程序的方法。

返回一个当前文档的 Ink 对象,提供对 Ink API 功能的访问。

返回一个 Keyboard 对象,该对象可用于访问检索键盘布局映射和切换捕捉物理键盘按键的函数。

返回一个字符串,表示用户的首选语言,通常是浏览器 UI 的语言。如果未知,则返回 null 值。

返回一个字符串数组,表示用户的首选语言,按优先级排序。

返回一个 LockManager 对象,提供了请求新的 Lock 对象和查询现有的 Lock 对象的方法。

提供对浏览器 NavigatorLogin 对象的访问权限,联合身份提供程序(IdP)可以使用它在用户登录或退出 IdP 时设置其登录状态。更多详细信息请参阅联合凭证管理(FedCM)API

返回当前设备支持的最大同时触摸接触点数。

返回一个 MediaCapabilities 对象,可以暴露有关给定格式的解码和编码能力。

返回一个 MediaDevices 对象的引用,可用于获取有关可用媒体设备的信息(MediaDevices.enumerateDevices())、了解计算机用户和用户代理支持的媒体约束属性(MediaDevices.getSupportedConstraints())、以及请求访问媒体资源 MediaDevices.getUserMedia()

返回 MediaSession 对象,可用于向浏览器提供有关当前播放媒体的元数据,以便在全局媒体控制 UI 中向用户展示相关信息。

返回浏览器的在线状态。该属性返回一个布尔值。

如果浏览器在导航到 PDF 文件时可以使用它们,返回 true,否则为 false

返回一个 Permissions 对象,可以用来查询和更新受权限 API 支持的 API 的权限状态。

返回一个对 Presentation API 的引用。

返回一个当前文档的 Scheduling 对象。

返回一个 Serial 对象,代表了 Web Serial API 的入口点,用于控制串行端口。

返回一个 ServiceWorkerContainer 对象,它提供了注册、移除、升级以及与相关文档ServiceWorker 对象进行通信的功能。

返回用于按站点或按应用管理持久化权限及估算可用存储空间的单例 StorageManager 对象。

返回一个当前文档的 USB 对象,提供对 WebUSB API 功能的访问。

返回一个包含有关当前窗口用户激活状态的信息的 UserActivation 对象。

返回当前浏览器的用户代理。

返回一个 NavigatorUAData 对象,提供了关于用户浏览器和操作系统的信息。

返回一个 VirtualKeyboard API 的引用,以控制屏幕上的虚拟键盘。

返回一个 WakeLock 接口,你可以使用它来请求屏幕唤醒锁并防止屏幕变暗、关闭或显示屏幕保护程序。

表示用户代理是否受自动化控制。

返回 WindowControlsOverlay 接口,该接口暴露了桌面渐进式 Web 应用程序标题栏的几何信息,以及在标题栏发生变化时触发的事件。

返回 XRSystem 对象,它代表了 WebXR API 的入口点。

非标准的属性

返回浏览器的构建标识符。在现代浏览器中,为了保护隐私,该属性现在返回一个固定的时间戳,例如 Firefox 64 及更高版本中返回 20181001000000

返回一个布尔值,表示用户是否同意共享或出售他们的信息。

返回一个布尔值,表示浏览器是否以独立模式运行。仅在 Apple 的 iOS Safari 上可用。

已弃用的属性

返回一个包含所有当前正在呈现(VRDisplay.isPresentingtrue)的 VRDisplay 对象的数组。

在任何浏览器中始终返回 'Mozilla'

在任何浏览器中始终返回 'Netscape'

返回浏览器版本号字符串。请勿依赖此属性返回正确的值。

报告用户的请勿追踪设置的首选项的值,当该值为“1”时,你的网站或应用程序不应该跟踪用户。

返回一个 MimeTypeArray 对象,表示浏览器识别和支持的 MIME 类型。

返回一个表示当前操作系统版本的字符串。

返回一个表示浏览器平台的字符串。请勿依赖此函数返回重要值。

返回一个 PluginArray 对象,列出了浏览器中安装的所有插件。

在任何浏览器中始终返回 'Gecko'

返回字符串 '20030107''20100101'

返回空字符串、'Apple Computer Inc.''Google Inc.'

始终返回空字符串。

实例方法

不继承任何方法

如果调用 Navigator.share() 成功,则返回 true

清除当前应用图标的徽标,并返回一个兑现为 undefinedPromise 对象。

针对给定的不透明 URN 或 FencedFrameConfig 的内部 url 属性,在映射 URL 中替换指定字符串。此方法作为临时措施(标记为“已弃用”)提供,以支持对围栏框架 URL 执行此类替换,帮助广告技术提供商将现有的实现迁移到隐私沙盒 API。

返回一个值,表示指定的媒体元素、音频上下文或媒体特性“类型”是否允许自动播放。

返回一个 promise,兑现为一个 BatteryManager 对象,返回有关电池充电状态的信息。

返回一个 Gamepad 数组对象,对应每一个设备上连接的手柄。

返回一个 promise,当敲定时会提供一个对象数组,这些对象代表着用户已安装的任何相关原生应用或渐进式 Web 应用(PWA)的信息。

允许网站注册自身为特定协议的潜在处理程序。

返回一个表示 MediaKeySystemAccess 对象的 Promise

返回一个 Promise 对象,代表了请求访问用户系统上的 MIDI 设备的操作。

用于通过 HTTP 协议异步地从用户代理向 Web 服务器传输少量数据。

在与此应用程序关联的图标上设置徽标,并返回一个兑现为 undefinedPromise 对象。

调用当前平台的原生分享机制。

在支持振动功能的设备上触发振动。若设备不支持振动功能,则此方法无效。

注销作为指定协议处理程序的网站。

已弃用的方法

在向用户请求权限后,返回与本地计算机上的摄像头或麦克风关联的音频或视频流。

返回一个 promise,该 promise 兑现为一个数组中包含了代表连接到计算机的所有可用 VR 设备的 VRDisplay 对象。

始终返回 false。

在 JavaScript 1.2 版本中移除了对数据污染/净化函数的支持,其返回值为 false

规范

Specification
HTML
# the-navigator-object

浏览器兼容性

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
Navigator
activeVRDisplays
DeprecatedNon-standard
Secure context required
DeprecatedNon-standard
adAuctionComponents
Experimental
appCodeName
Deprecated
appName
Deprecated
appVersion
Deprecated
audioSession
Experimental
authentication
Experimental
bluetooth
Experimental
buildID
Non-standard
canLoadAdAuctionFencedFrame
Experimental
canShare
data.files parameter
data.text parameter
clearAppBadge
clearOriginJoinedAdInterestGroups
Experimental
clipboard
connection
contacts
Experimental
cookieEnabled
createAuctionNonce
Experimental
credentials
deprecatedReplaceInURN
Experimental
deprecatedRunAdAuctionEnforcesKAnonymity
Experimental
deviceMemory
devicePosture
Experimental
doNotTrack
DeprecatedNon-standard
geolocation
Secure context required
getAutoplayPolicy
Experimental
getBattery
Secure context required
Experimental
getGamepads
Secure context required
Experimental
getInstalledRelatedApps
Experimental
getInterestGroupAdAuctionData
Experimental
getUserMedia
Deprecated
getVRDisplays
DeprecatedNon-standard
globalPrivacyControl
Experimental
gpu
Experimental
hardwareConcurrency
hid
Experimental
ink
Experimental
javaEnabled
Deprecated
joinAdInterestGroup
Experimental
keyboard
Experimental
language
languages
leaveAdInterestGroup
Experimental
locks
login
Experimental
managed
Experimental
maxTouchPoints
mediaCapabilities
mediaDevices
Secure context required
mediaSession
mimeTypes
Deprecated
Returns MIME types from plugins rather than hard-coded PDF values
DeprecatedNon-standard
ml
Experimental
onLine
oscpu
Deprecated
pdfViewerEnabled
permissions
platform
Deprecated
plugins
Deprecated
Returns plugins rather than hard-coded PDF plugin values
DeprecatedNon-standard
presentation
product
Deprecated
productSub
Deprecated
protectedAudience
Experimental
registerProtocolHandler
scheme parameter supports bitcoin
scheme parameter supports cabal
ExperimentalNon-standard
scheme parameter supports dat
ExperimentalNon-standard
scheme parameter supports did
ExperimentalNon-standard
scheme parameter supports dweb
ExperimentalNon-standard
scheme parameter supports ethereum
ExperimentalNon-standard
scheme parameter supports ftp
Experimental
scheme parameter supports ftps
Experimental
scheme parameter supports geo
scheme parameter supports hyper
ExperimentalNon-standard
scheme parameter supports im
scheme parameter supports ipfs
ExperimentalNon-standard
scheme parameter supports ipns
ExperimentalNon-standard
scheme parameter supports irc
scheme parameter supports ircs
scheme parameter supports magnet
scheme parameter supports mailto
scheme parameter supports matrix
scheme parameter supports mms
scheme parameter supports news
scheme parameter supports nntp
scheme parameter supports openpgp4fpr
scheme parameter supports sftp
Experimental
scheme parameter supports sip
scheme parameter supports sms
scheme parameter supports smsto
scheme parameter supports ssb
ExperimentalNon-standard
scheme parameter supports ssh
scheme parameter supports tel
scheme parameter supports urn
scheme parameter supports webcal
scheme parameter supports wtai
scheme parameter supports xmpp
Secure context required
requestMIDIAccess
Secure context required
requestMediaKeySystemAccess
runAdAuction
Experimental
scheduling
Experimental
sendBeacon
serial
Experimental
serviceWorker
setAppBadge
share
data.files parameter
data.text parameter
storage
storageBuckets
Experimental
taintEnabled
Deprecated
unregisterProtocolHandler
updateAdInterestGroups
Experimental
usb
userActivation
userAgent
userAgentData
Experimental
Secure context required
Experimental
vendor
Deprecated
vendorSub
Deprecated
vibrate
virtualKeyboard
Experimental
wakeLock
webdriver
windowControlsOverlay
xr
Experimental

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
Partial support
Partial support
In development. Supported in a pre-release version.
In development. Supported in a pre-release version.
No support
No support
Experimental. Expect behavior to change in the future.
Non-standard. Check cross-browser support before using.
Deprecated. Not for use in new websites.
See implementation notes.
User must explicitly enable this feature.
Requires a vendor prefix or different name for use.
Has more compatibility info.