The Navigator interface represents the state and the identity of the user agent. It allows scripts to query it and to register themselves to carry on some activities.
A Navigator object can be retrieved using the read-only window.navigator property.
Properties
Doesn't inherit any properties, but implements those defined in NavigatorID, NavigatorLanguage, NavigatorOnLine, NavigatorContentUtils, NavigatorStorage, NavigatorStorageUtils, NavigatorConcurrentHardware, NavigatorPlugins, and NavigatorUserMedia.
Standard
Navigator.activeVRDisplaysRead only- Returns an array containing every
VRDisplayobject that is currently presenting (VRDisplay.ispresentingistrue). NavigatorID.appCodeNameRead only- Returns the internal "code" name of the current browser. Do not rely on this property to return the correct value.
NavigatorID.appNameRead only- Returns a
DOMStringwith the official name of the browser. Do not rely on this property to return the correct value. NavigatorID.appVersionRead only- Returns the version of the browser as a
DOMString. Do not rely on this property to return the correct value. Navigator.batteryRead only- Returns a
BatteryManagerobject you can use to get information about the battery charging status. Navigator.connectionRead only- Provides a
NetworkInformationobject containing information about the network connection of a device. Navigator.cookieEnabledRead only- Returns false if setting a cookie will be ignored and true otherwise.
Navigator.geolocationRead only- Returns a
Geolocationobject allowing accessing the location of the device. NavigatorConcurrentHardware.hardwareConcurrencyRead only- Returns the number of logical processor cores available.
NavigatorPlugins.javaEnabledRead only- Returns a
Booleanflag indicating whether the host browser is Java-enabled or not. Navigator.keyboardRead only- Returns a
Keyboardobject which provides access to functions that retrieve keyboard layout maps and toggle capturing of key presses from the physical keyboard. NavigatorLanguage.languageRead only- Returns a
DOMStringrepresenting the preferred language of the user, usually the language of the browser UI. Thenullvalue is returned when this is unknown. NavigatorLanguage.languagesRead only- Returns an array of
DOMStringrepresenting the languages known to the user, by order of preference. Navigator.locksRead only- Returns a
LockManagerobject which provides methods for requesting a newLockobject and querying for an existingLockobject Navigator.mediaCapabilitiesRead only- Returns a
MediaCapabilitiesobject that can expose information about the decoding and encoding capabilities for a given format and output capabilities. Navigator.maxTouchPointsRead only- Returns the maximum number of simultaneous touch contact points are supported by the current device.
NavigatorPlugins.mimeTypesRead only- Returns an
MimeTypeArraylisting the MIME types supported by the browser. NavigatorOnLine.onLineRead only- Returns a
Booleanindicating whether the browser is working online. Navigator.oscpu- Returns a string that represents the current operating system.
Navigator.permissionsRead only- Returns a
Permissionsobject that can be used to query and update permission status of APIs covered by the Permissions API. NavigatorID.platformRead only- Returns a string representing the platform of the browser. Do not rely on this function to return a significant value.
NavigatorPlugins.pluginsRead only- Returns a
PluginArraylisting the plugins installed in the browser. NavigatorID.productRead only- Always returns
'Gecko', on any browser. This property is kept only for compatibility purpose. Navigator.serviceWorkerRead only- Returns a
ServiceWorkerContainerobject, which provides access to registration, removal, upgrade, and communication with theServiceWorkerobjects for the associated document. NavigatorStorage.storageRead only- Returns the singleton
StorageManagerobject used for managing persistence permissions and estimating available storage on a site-by-site/app-by-app basis. NavigatorID.userAgentRead only- Returns the user agent string for the current browser.
Navigator.webdriverRead only- Indicates whether the user agent is controlled by automation.
Non-standard
Navigator.buildID- Returns the build identifier of the browser. In modern browsers this property now returns a fixed timestamp as a privacy measure, e.g.
20181001000000in Firefox 64 onwards. Navigator.credentials- Returns the
CredentialsContainerinterface which exposes methods to request credentials and notify the user agent when interesting events occur such as successful sign in or sign out. Navigator.deviceMemoryRead only- Returns the amount of device memory in gigabytes. This value is an approximation given by rounding to the nearest power of 2 and dividing that number by 1024.
Navigator.doNotTrack- Reports the value of the user's do-not-track preference. When this value is "yes", your web site or application should not track the user.
Navigator.mediaDevices- Returns a reference to a
MediaDevicesobject which can then be used to get information about available media devices (MediaDevices.enumerateDevices()), find out what constrainable properties are supported for media on the user's computer and user agent (MediaDevices.getSupportedConstraints()), and to request access to media usingMediaDevices.getUserMedia(). Navigator.mozNotificationDeprecated since Gecko 22
Navigator.webkitNotification- Returns a
notificationobject you can use to deliver notifications to the user from your web application. Navigator.mozSocial- The Object, returned by the
navigator.mozSocialproperty, is available within the social media provider's panel to provide functionality it may need. Navigator.presentation- Returns a reference to the
PresentationAPI. Navigator.productSub- Returns the build number of the current browser (e.g., "20060909").
Navigator.securitypolicy- Returns an empty string. In Netscape 4.7x, returns "US & CA domestic policy" or "Export policy".
Navigator.standalone- Returns a boolean indicating whether the browser is running in standalone mode. Available on Apple's iOS Safari only.
Navigator.storageQuotaRead only- Returns a
StorageQuotainterface which provides means to query and request storage usage and quota information. Navigator.vendor- Returns the vendor name of the current browser (e.g., "Netscape6").
Navigator.vendorSub- Returns the vendor version number (e.g. "6.1").
Navigator.webkitPointer- Returns a PointerLock object for the Mouse Lock API.
Methods
Doesn't inherit any method, but implements those defined in NavigatorID, NavigatorContentUtils, NavigatorUserMedia, and NavigatorStorageUtils.
Standard
Navigator.getVRDisplays()- Returns a promise that resolves to an array of
VRDisplayobjects representing any available VR devices connected to the computer. Navigator.getUserMedia()- After having prompted the user for permission, returns the audio or video stream associated to a camera or microphone on the local computer.
Navigator.registerContentHandler()Obsolete since Gecko 59- Allows web sites to register themselves as a possible handler for a given MIME type.
Navigator.registerProtocolHandler()- Allows web sites to register themselves as a possible handler for a given protocol.
Navigator.requestMediaKeySystemAccess()- Returns a
Promisefor a MediaKeySystemAccess object. Navigator.sendBeacon()- Used to asynchronously transfer a small amount of data using HTTP from the User Agent to a web server.
Navigator.share()- Invokes the native sharing mechanism of the current platform.
NavigatorID.taintEnabled()Deprecated since Gecko 1.7.8 Obsolete since Gecko 9.0- Returns
false. JavaScript taint/untaint functions removed in JavaScript 1.2. Navigator.vibrate()- Causes vibration on devices with support for it. Does nothing if vibration support isn't available.
Non-standard
Firefox OS devices adds more non-standard methods. You can consult them on the Firefox OS Navigator extensions article.
Navigator.mozIsLocallyAvailable()- Lets code check to see if the document at a given URI is available without using the network.
Navigator.mozPay()- Allows in-app payment.
Specifications
| Specification | Status | Comment |
|---|---|---|
| HTML Living Standard The definition of 'the Navigator object' in that specification. |
Living Standard |
Browser compatibility
| Desktop | Mobile | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Navigator | Chrome Full support Yes | Edge Full support Yes | Firefox Full support Yes | IE Full support Yes | Opera Full support Yes | Safari Full support Yes | WebView Android Full support Yes | Chrome Android Full support Yes | Edge Mobile Full support Yes | Firefox Android Full support Yes | Opera Android Full support Yes | Safari iOS Full support Yes | Samsung Internet Android Full support Yes |
activeVRDisplays | Chrome
No support
No
| Edge Full support 15 | Firefox
Full support
55
| IE No support No | Opera No support No | Safari No support No | WebView Android Full support Yes | Chrome Android
Full support
Yes
| Edge Mobile No support No | Firefox Android Full support 55 | Opera Android No support No | Safari iOS No support No | Samsung Internet Android ? |
authentication | Chrome
Full support
67
| Edge No support No | Firefox No support No | IE No support No | Opera ? | Safari No support No | WebView Android
Full support
67
| Chrome Android
Full support
67
| Edge Mobile No support No | Firefox Android No support No | Opera Android ? | Safari iOS No support No | Samsung Internet Android No support No |
battery | Chrome
No support
20 — 29
| Edge No support No | Firefox
No support
16 — 50
| IE No support No | Opera No support No | Safari No support No | WebView Android No support No | Chrome Android No support No | Edge Mobile No support No | Firefox Android
No support
16 — 50
| Opera Android No support No | Safari iOS No support No | Samsung Internet Android ? |
buildID | Chrome No support No | Edge ? | Firefox
Full support
64
| IE ? | Opera ? | Safari ? | WebView Android No support No | Chrome Android No support No | Edge Mobile ? | Firefox Android
Full support
64
| Opera Android ? | Safari iOS ? | Samsung Internet Android ? |
clipboard | Chrome Full support 66 | Edge ? | Firefox Full support 63 | IE ? | Opera ? | Safari ? | WebView Android Full support 66 | Chrome Android Full support 66 | Edge Mobile ? | Firefox Android Full support 63 | Opera Android ? | Safari iOS ? | Samsung Internet Android ? |
connection | Chrome Full support 61 | Edge ? | Firefox ? | IE No support No | Opera ? | Safari No support No | WebView Android Full support 50 | Chrome Android Full support 38 | Edge Mobile ? | Firefox Android
Full support
14
| Opera Android Full support 37 | Safari iOS No support No | Samsung Internet Android ? |
cookieEnabled | Chrome Full support 59 | Edge Full support 12 | Firefox
Full support
1
| IE Full support Yes | Opera Full support Yes | Safari Full support Yes | WebView Android Full support 59 | Chrome Android Full support 59 | Edge Mobile Full support Yes | Firefox Android
Full support
4
| Opera Android Full support Yes | Safari iOS Full support Yes | Samsung Internet Android ? |
credentials | Chrome Full support 51 | Edge Full support 18 | Firefox ? | IE ? | Opera ? | Safari ? | WebView Android Full support 51 | Chrome Android Full support 51 | Edge Mobile ? | Firefox Android ? | Opera Android ? | Safari iOS ? | Samsung Internet Android ? |
deviceMemory | Chrome Full support 63 | Edge ? | Firefox ? | IE ? | Opera Full support 50 | Safari ? | WebView Android Full support 63 | Chrome Android Full support 63 | Edge Mobile ? | Firefox Android ? | Opera Android Full support 50 | Safari iOS ? | Samsung Internet Android ? |
doNotTrack | Chrome Full support 23 | Edge
Full support
17
| Firefox
Full support
9
| IE
No support
9 — 11
| Opera Full support 12 | Safari
No support
5.1 — 7
| WebView Android Full support Yes | Chrome Android Full support Yes | Edge Mobile
No support
No
| Firefox Android
Full support
9
| Opera Android ? | Safari iOS ? | Samsung Internet Android ? |
geolocation | Chrome Full support 5 | Edge Full support 12 | Firefox Full support 3.5 | IE Full support 9 | Opera
Full support
16
| Safari Full support 5 | WebView Android Full support Yes | Chrome Android Full support Yes | Edge Mobile Full support Yes | Firefox Android Full support 4 | Opera Android Full support 10.6 | Safari iOS Full support Yes | Samsung Internet Android ? |
getBattery | Chrome Full support 45 | Edge No support No | Firefox
No support
43 — 52
| IE No support No | Opera Full support 25 | Safari No support No | WebView Android Full support 45 | Chrome Android Full support 45 | Edge Mobile No support No | Firefox Android
No support
43 — 52
| Opera Android Full support 25 | Safari iOS No support No | Samsung Internet Android ? |
getGamepads | Chrome
Full support
35
| Edge Full support 12 | Firefox Full support 29 | IE No support No | Opera
Full support
22
| Safari No support No | WebView Android
Full support
37
| Chrome Android Full support 42 | Edge Mobile Full support Yes | Firefox Android No support No | Opera Android No support No | Safari iOS No support No | Samsung Internet Android ? |
getUserMedia | Chrome
Full support
21
| Edge Full support 12 | Firefox
Full support
17
| IE No support No | Opera
Full support
18
| Safari No support No | WebView Android
Full support
40
| Chrome Android No support No | Edge Mobile Full support Yes | Firefox Android
Full support
24
| Opera Android
Full support
12
| Safari iOS No support No | Samsung Internet Android No support No |
getVRDisplays | Chrome
No support
No
| Edge Full support 15 | Firefox
Full support
55
| IE No support No | Opera No support No | Safari No support No | WebView Android Full support Yes | Chrome Android
Full support
Yes
| Edge Mobile No support No | Firefox Android Full support 55 | Opera Android No support No | Safari iOS No support No | Samsung Internet Android ? |
keyboard | Chrome Full support 68 | Edge No support No | Firefox No support No | IE No support No | Opera Full support 55 | Safari No support No | WebView Android No support No | Chrome Android No support No | Edge Mobile No support No | Firefox Android No support No | Opera Android No support No | Safari iOS No support No | Samsung Internet Android No support No |
locks | Chrome Full support 69 | Edge ? | Firefox ? | IE ? | Opera Full support 56 | Safari ? | WebView Android Full support 69 | Chrome Android Full support 69 | Edge Mobile ? | Firefox Android ? | Opera Android Full support 56 | Safari iOS ? | Samsung Internet Android ? |
maxTouchPoints | Chrome Full support 35 | Edge Full support 12 | Firefox
Full support
59
| IE
Full support
11
| Opera ? | Safari No support No | WebView Android Full support 37 | Chrome Android Full support 35 | Edge Mobile ? | Firefox Android
Full support
29
| Opera Android ? | Safari iOS No support No | Samsung Internet Android ? |
mediaCapabilities | Chrome Full support 66 | Edge No support No | Firefox Full support 63 | IE No support No | Opera Full support 55 | Safari No support No | WebView Android Full support 66 | Chrome Android Full support 66 | Edge Mobile No support No | Firefox Android Full support 63 | Opera Android Full support 55 | Safari iOS No support No | Samsung Internet Android ? |
mediaDevices | Chrome Full support 51 | Edge Full support 12 | Firefox Full support 36 | IE Full support Yes | Opera No support No | Safari No support No | WebView Android Full support 51 | Chrome Android Full support 51 | Edge Mobile Full support Yes | Firefox Android Full support 36 | Opera Android No support No | Safari iOS No support No | Samsung Internet Android ? |
mediaSession | Chrome No support No | Edge ? | Firefox ? | IE ? | Opera No support No | Safari ? | WebView Android No support No | Chrome Android Full support 57 | Edge Mobile ? | Firefox Android ? | Opera Android No support No | Safari iOS ? | Samsung Internet Android ? |
mozIsLocallyAvailable | Chrome No support No | Edge No support No | Firefox No support ? — 35 | IE No support No | Opera No support No | Safari No support No | WebView Android No support No | Chrome Android No support No | Edge Mobile No support No | Firefox Android No support ? — 35 | Opera Android No support No | Safari iOS No support No | Samsung Internet Android No support No |
oscpu | Chrome No support No | Edge ? | Firefox Full support Yes | IE ? | Opera ? | Safari ? | WebView Android No support No | Chrome Android No support No | Edge Mobile ? | Firefox Android Full support Yes | Opera Android ? | Safari iOS No support No | Samsung Internet Android ? |
permissions | Chrome Full support 43 | Edge ? | Firefox Full support 46 | IE ? | Opera ? | Safari ? | WebView Android No support No | Chrome Android Full support 43 | Edge Mobile ? | Firefox Android Full support 46 | Opera Android ? | Safari iOS ? | Samsung Internet Android ? |
presentation | Chrome Full support Yes | Edge ? | Firefox No support No | IE ? | Opera ? | Safari ? | WebView Android No support No | Chrome Android Full support Yes | Edge Mobile ? | Firefox Android No support No | Opera Android ? | Safari iOS ? | Samsung Internet Android ? |
productSub | Chrome
Full support
Yes
| Edge Full support 12 | Firefox Full support Yes | IE
Full support
Yes
| Opera ? | Safari
Full support
Yes
| WebView Android ? | Chrome Android
Full support
Yes
| Edge Mobile ? | Firefox Android Full support Yes | Opera Android ? | Safari iOS
Full support
Yes
| Samsung Internet Android ? |
registerContentHandler | Chrome ? | Edge ? | Firefox No support 2 — 62 | IE ? | Opera ? | Safari ? | WebView Android ? | Chrome Android ? | Edge Mobile ? | Firefox Android ? | Opera Android ? | Safari iOS ? | Samsung Internet Android ? |
registerProtocolHandler | Chrome
Full support
13
| Edge ? | Firefox Full support 3 | IE ? | Opera Full support 11.6 | Safari ? | WebView Android No support No | Chrome Android Full support Yes | Edge Mobile ? | Firefox Android Full support 4 | Opera Android ? | Safari iOS No support No | Samsung Internet Android ? |
requestMediaKeySystemAccess | Chrome
Full support
42
| Edge Full support 13 | Firefox
Full support
Yes
| IE ? | Opera
Full support
29
| Safari ? | WebView Android
Full support
43
| Chrome Android
Full support
42
| Edge Mobile Full support Yes | Firefox Android
Full support
Yes
| Opera Android
Full support
29
| Safari iOS ? | Samsung Internet Android ? |
sendBeacon | Chrome
Full support
39
| Edge Full support 14 | Firefox Full support 31 | IE No support No | Opera
Full support
26
| Safari Full support 11.1 | WebView Android
Full support
40
| Chrome Android
Full support
42
| Edge Mobile Full support Yes | Firefox Android Full support 31 | Opera Android
Full support
29
| Safari iOS Full support 11.1 | Samsung Internet Android ? |
serviceWorker | Chrome Full support 40 | Edge
Full support
17
| Firefox
Full support
44
| IE No support No | Opera Full support 27 | Safari Full support 11.1 | WebView Android Full support 40 | Chrome Android Full support 40 | Edge Mobile ? | Firefox Android Full support 44 | Opera Android Full support 27 | Safari iOS Full support 11.1 | Samsung Internet Android ? |
share | Chrome No support No | Edge ? | Firefox No support No | IE No support No | Opera No support No | Safari No support No | WebView Android No support No | Chrome Android Full support 61 | Edge Mobile ? | Firefox Android No support No | Opera Android Full support 48 | Safari iOS No support No | Samsung Internet Android ? |
vendor | Chrome Full support 1 | Edge Full support 12 | Firefox Full support Yes | IE Full support Yes | Opera Full support Yes | Safari Full support Yes | WebView Android Full support Yes | Chrome Android Full support Yes | Edge Mobile Full support Yes | Firefox Android Full support Yes | Opera Android Full support Yes | Safari iOS Full support Yes | Samsung Internet Android Full support Yes |
vendorSub | Chrome Full support Yes | Edge Full support 12 | Firefox Full support Yes | IE Full support Yes | Opera Full support 15 | Safari Full support Yes | WebView Android Full support Yes | Chrome Android Full support Yes | Edge Mobile ? | Firefox Android Full support Yes | Opera Android Full support 15 | Safari iOS Full support Yes | Samsung Internet Android ? |
vibrate | Chrome Full support 32 | Edge ? | Firefox
Full support
16
| IE No support No | Opera No support No | Safari No support No | WebView Android
Full support
4.4.3
| Chrome Android
Full support
32
| Edge Mobile ? | Firefox Android
Full support
16
| Opera Android
Full support
Yes
| Safari iOS No support No | Samsung Internet Android ? |
webdriver | Chrome Full support 63 | Edge Full support 12 | Firefox ? | IE ? | Opera Full support 50 | Safari ? | WebView Android ? | Chrome Android Full support 63 | Edge Mobile ? | Firefox Android ? | Opera Android Full support 50 | Safari iOS ? | Samsung Internet Android ? |
Legend
- Full support
- Full support
- No support
- No support
- Compatibility unknown
- Compatibility unknown
- Experimental. Expect behavior to change in the future.
- Experimental. Expect behavior to change in the future.
- Non-standard. Expect poor cross-browser support.
- Non-standard. Expect poor cross-browser support.
- Deprecated. Not for use in new websites.
- Deprecated. Not for use in new websites.
- See implementation notes.
- See implementation notes.
- User must explicitly enable this feature.
- User must explicitly enable this feature.
- Requires a vendor prefix or different name for use.
- Requires a vendor prefix or different name for use.