Web/API/Navigator

From Get docs


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 properties

Navigator.connection Read only '
Provides a NetworkInformation object containing information about the network connection of a device.
Navigator.cookieEnabled Read only
Returns false if setting a cookie will be ignored and true otherwise.
Navigator.credentials Read only
Returns the CredentialsContainer interface which exposes methods to request credentials and notify the user agent when interesting events occur such as successful sign in or sign out. 
Navigator.deviceMemory Read 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 Read only '
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.geolocation Read only
Returns a Geolocation object allowing accessing the location of the device.
NavigatorConcurrentHardware.hardwareConcurrency Read only
Returns the number of logical processor cores available.
NavigatorPlugins.javaEnabled Read only
Returns a Boolean flag indicating whether the host browser is Java-enabled or not.
Navigator.keyboard Read only '
Returns a Keyboard object which provides access to functions that retrieve keyboard layout maps and toggle capturing of key presses from the physical keyboard.
NavigatorLanguage.language Read only
Returns a DOMString representing the preferred language of the user, usually the language of the browser UI. The null value is returned when this is unknown.
NavigatorLanguage.languages Read only '
Returns an array of DOMString representing the languages known to the user, by order of preference.
Navigator.locks Read only '
Returns a LockManager object which provides methods for requesting a new Lock object and querying for an existing Lock object
Navigator.maxTouchPoints Read only
Returns the maximum number of simultaneous touch contact points are supported by the current device.
Navigator.mediaCapabilities Read only '
Returns a MediaCapabilities object that can expose information about the decoding and encoding capabilities for a given format and output capabilities.
Navigator.mediaDevices Read only
Returns a reference to a MediaDevices object 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 using MediaDevices.getUserMedia().
Navigator.mediaSession Read only '
Returns MediaSession object which can be used to provide metadata that can be used by the browser to present information about the currently-playing media to the user, such as in a global media controls UI.
NavigatorPlugins.mimeTypes Read only
Returns an MimeTypeArray listing the MIME types supported by the browser.
Navigator.onLine Read only
Returns a Boolean indicating whether the browser is working online.
Navigator.permissions Read only '
Returns a Permissions object that can be used to query and update permission status of APIs covered by the Permissions API.
NavigatorPlugins.plugins Read only
Returns a PluginArray listing the plugins installed in the browser.
Navigator.presentation Read only '
Returns a reference to the Presentation API.
Navigator.serviceWorker Read only
Returns a ServiceWorkerContainer object, which provides access to registration, removal, upgrade, and communication with the ServiceWorker objects for the associated document.
NavigatorStorage.storage Read only
Returns the singleton StorageManager object used for managing persistence permissions and estimating available storage on a site-by-site/app-by-app basis.
NavigatorID.userAgent Read only
Returns the user agent string for the current browser.
Navigator.vendor Read only
Returns the vendor name of the current browser (e.g., "Netscape6").
Navigator.webdriver Read only   '
Indicates whether the user agent is controlled by automation.
Navigator.xr Read only   '
Returns XR object, which represents the entry point into the WebXR API.

Non-standard properties

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. 20181001000000 in Firefox 64 onwards.
Navigator.contacts Read only '
Returns a ContactsManager interface which allows users to select entries from their contact list and share limited details of the selected entries with a website or application.
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.wakeLock Read only '
Returns a WakeLock interface you can use to request screen wake locks and prevent screen from dimming, turning off, or showing a screen saver.

Deprecated properties

NavigatorID.appCodeName Read only '
Returns the internal "code" name of the current browser. Do not rely on this property to return the correct value.
NavigatorID.appName Read only '
Returns a DOMString with the official name of the browser. Do not rely on this property to return the correct value.
NavigatorID.appVersion Read only '
Returns the version of the browser as a DOMString. Do not rely on this property to return the correct value.
Navigator.activeVRDisplays Read only '
Returns an array containing every VRDisplay object that is currently presenting (VRDisplay.ispresenting is true).
Navigator.battery Read only '
Returns a BatteryManager object you can use to get information about the battery charging status.
Navigator.oscpu Read only '
Returns a string that represents the current operating system.
NavigatorID.platform Read only '
Returns a string representing the platform of the browser. Do not rely on this function to return a significant value.
NavigatorID.product Read only '
Always returns 'Gecko', on any browser. This property is kept only for compatibility purpose.
Navigator.productSub Read only '
Returns the build number of the current browser (e.g., "20060909").
Navigator.storageQuota Read only '
Returns a StorageQuota interface which provides means to query and request storage usage and quota information.
Navigator.vendorSub Read only '
Returns the vendor version number (e.g. "6.1").

Methods

Doesn't inherit any method, but implements those defined in NavigatorID, NavigatorContentUtils, NavigatorUserMedia, and NavigatorStorageUtils.

Navigator.canShare()
Returns true if a call to Navigator.share() would succeed.
Navigator.registerProtocolHandler()
Allows web sites to register themselves as a possible handler for a given protocol.
Navigator.requestMediaKeySystemAccess()
Returns a Promise for 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.
Navigator.vibrate()
Causes vibration on devices with support for it. Does nothing if vibration support isn't available.

Deprecated methods

Navigator.getVRDisplays() '
Returns a promise that resolves to an array of VRDisplay objects 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() '
Allows web sites to register themselves as a possible handler for a given MIME type.
NavigatorID.taintEnabled() '
Returns false. JavaScript taint/untaint functions removed in JavaScript 1.2.

Specifications

Specification Status Comment
HTML Living StandardThe definition of 'the Navigator object' in that specification. Living Standard

Browser compatibility

Update compatibility data on GitHub

Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet
Navigator Chrome

Full support 1

Edge

Full support 12

Firefox

Full support 1

IE

Full support 4

Opera

Full support 3

Safari

Full support 1

WebView Android

Full support 1

Chrome Android

Full support 18

Firefox Android

Full support 4

Opera Android

Full support 10.1

Safari iOS

Full support 1

Samsung Internet Android

Full support 1.0

activeVRDisplays

Experimental'Deprecated'

Chrome

No support No

Edge No support 15 — 79

Notes'

No support 15 — 79

Notes'

Notes' WebVR content requires a Windows Mixed Reality headset or the Windows Mixed Reality Portal Simulator.

Firefox Full support 55

Notes'

Full support 55

Notes'

Notes' Windows support was enabled in Firefox 55. Full support 64

Notes'

Notes' macOS support was enabled in Firefox 64.

IE

No support No

Opera

No support No

Safari

No support No

WebView Android

No support 79 — 80

Chrome Android No support 79 — 80

Notes'

No support 79 — 80

Notes'

Notes' Supported only by Google Daydream.

Firefox Android

Full support 55

Opera Android

No support No

Safari iOS

No support No

Samsung Internet Android No support 12.0 — 13.0

Notes'

No support 12.0 — 13.0

Notes'

Notes' Supported only by Google Daydream.

authentication

Chrome Full support 67

Disabled'

Full support 67

Disabled'

Disabled' From version 67: this feature is behind the WebAuth preference. To change preferences in Chrome, visit chrome://flags.

Edge Full support 79

Disabled'

Full support 79

Disabled'

Disabled' From version 79: this feature is behind the WebAuth preference.

Firefox

No support No

IE

No support No

Opera

?

Safari

No support No

WebView Android

No support No

Chrome Android Full support 67

Disabled'

Full support 67

Disabled'

Disabled' From version 67: this feature is behind the WebAuth preference. To change preferences in Chrome, visit chrome://flags.

Firefox Android

No support No

Opera Android

?

Safari iOS

No support No

Samsung Internet Android

No support No

battery

Deprecated'

Chrome No support 20 — 29

Prefixed'

No support 20 — 29

Prefixed'

Prefixed' Implemented with the vendor prefix: webkit

Edge

No support No

Firefox No support 16 — 50

Notes'

No support 16 — 50

Notes'

Notes' Removed in favor of navigator.getBattery(). Notes' The Battery API was supported on Android, Windows, and Linux with UPower installed. Support for macOS was available starting with Firefox 18. No support 11 — 16

Prefixed'

Prefixed' Implemented with the vendor prefix: moz No support 10 — 16

Disabled'

Disabled' From version 10 until version 16 (exclusive): this feature is behind the dom.battery.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.

IE

No support No

Opera

No support No

Safari

No support No

WebView Android

No support No

Chrome Android

No support No

Firefox Android No support 16 — 50

Notes'

No support 16 — 50

Notes'

Notes' Removed in favor of navigator.getBattery(). Notes' The Battery API was supported on Android, Windows, and Linux with UPower installed. Support for macOS was available starting with Firefox 18. No support 14 — 16

Prefixed'

Prefixed' Implemented with the vendor prefix: moz No support 10 — 16

Disabled'

Disabled' From version 10 until version 16 (exclusive): this feature is behind the dom.battery.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.

Opera Android

No support No

Safari iOS

No support No

Samsung Internet Android

No support No

buildID

Non-standard'

Chrome

No support No

Edge

No support No

Firefox Full support 64

Notes'

Full support 64

Notes'

Notes' Returns a fixed timestamp as a privacy measure - 20181001000000. Full support 2


IE

?

Opera

?

Safari

?

WebView Android

No support No

Chrome Android

No support No

Firefox Android Full support 64

Notes'

Full support 64

Notes'

Notes' Returns a fixed timestamp as a privacy measure - 20181001000000. Full support Yes


Opera Android

?

Safari iOS

?

Samsung Internet Android

No support No

canShare

Experimental'Non-standard'

Chrome

No support No

Edge

No support No

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 75

Firefox Android

No support No

Opera Android

No support No

Safari iOS

No support No

Samsung Internet Android

Full support 11.0

clipboard Chrome

Full support 66

Edge

Full support 79

Firefox

Full support 63

IE

No support No

Opera

Full support 53

Safari

Full support 13.1

WebView Android

Full support 66

Chrome Android

Full support 66

Firefox Android

Full support 63

Opera Android

Full support 47

Safari iOS

Full support 13.4

Samsung Internet Android

Full support 9.0

connection

Experimental'

Chrome

Full support 61

Edge

Full support 79

Firefox Full support Yes

Disabled'

Full support Yes

Disabled'

Disabled' This feature is behind the dom.netinfo.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.

IE

No support No

Opera

Full support Yes

Safari

No support No

WebView Android

Full support 50

Chrome Android

Full support 38

Firefox Android Full support 14

Notes'

Full support 14

Notes'

Notes' The Network API is enabled by default. Can be disabled using the dom.netinfo.enabled preference.

Opera Android

Full support 37

Safari iOS

No support No

Samsung Internet Android

Full support 3.0

cookieEnabled Chrome

Full support 1

Edge

Full support 12

Firefox Full support 1

Notes'

Full support 1

Notes'

Notes' Prior to Firefox 8, navigator.cookieEnabled would report the wrong result if a site exception was in place for the page on which the check was performed. This has been fixed.

IE

Full support 4

Opera

Full support ≤12.1

Safari

Full support 1

WebView Android

Full support 1

Chrome Android

Full support 18

Firefox Android Full support 4

Notes'

Full support 4

Notes'

Notes' Prior to Firefox 8, navigator.cookieEnabled would report the wrong result if a site exception was in place for the page on which the check was performed. This has been fixed.

Opera Android

Full support ≤12.1

Safari iOS

Full support 1

Samsung Internet Android

Full support 1.0

credentials

Experimental'

Chrome

Full support 51

Edge

Full support 18

Firefox

Full support 61

IE

No support No

Opera

Full support 38

Safari

Full support 13

WebView Android

Full support 51

Chrome Android

Full support 51

Firefox Android

Full support 61

Opera Android

Full support 41

Safari iOS

Full support 13

Samsung Internet Android

Full support 5.0

deviceMemory

Experimental'

Chrome

Full support 63

Edge

Full support 79

Firefox

No support No

IE

No support No

Opera

Full support 50

Safari

No support No

WebView Android

Full support 63

Chrome Android

Full support 63

Firefox Android

No support No

Opera Android

Full support 46

Safari iOS

No support No

Samsung Internet Android

Full support 8.0

doNotTrack

Experimental'

Chrome

Full support 23

Edge Full support 17

Notes'

Full support 17

Notes'

Notes' Edge prior to version 17 implemented window.doNotTrack.

Firefox Full support 9

Notes'

Full support 9

Notes'

Notes' Prior to Firefox 32, navigator.doNotTrack would report values of yes and no rather than 1 and 0.

IE No support 9 — 11

Prefixed' Notes'

No support 9 — 11

Prefixed' Notes'

Prefixed' Implemented with the vendor prefix: ms Notes' For IE11 and subsequent versions, use window.doNotTrack

Opera

Full support 12

Safari No support 5.1 — 7

Notes'

No support 5.1 — 7

Notes'

Notes' Safari 7.1.3+ uses window.doNotTrack rather than navigator.doNotTrack.

WebView Android

Full support Yes

Chrome Android

Full support Yes

Firefox Android Full support 9

Notes'

Full support 9

Notes'

Notes' Prior to Firefox 32, navigator.doNotTrack would report values of yes and no rather than 1 and 0.

Opera Android

?

Safari iOS

?

Samsung Internet Android

Full support Yes

geolocation Chrome

Full support 5

Edge

Full support 12

Firefox

Full support 3.5

IE

Full support 9

Opera

Full support 10.6

Safari

Full support 5

WebView Android

Full support ≤37

Chrome Android

Full support 18

Firefox Android

Full support 4

Opera Android

Full support 11

Safari iOS

Full support 4.2

Samsung Internet Android

Full support 1.0

getBattery

Deprecated'

Chrome

Full support 38

Edge

Full support 79

Firefox No support 43 — 52

Notes'

No support 43 — 52

Notes'

Notes' From Firefox 52 onwards, the Battery Status API is only available in chrome/privileged code.

IE

No support No

Opera

Full support 25

Safari

No support No

WebView Android

Full support 38

Chrome Android

Full support 38

Firefox Android No support 43 — 52

Notes'

No support 43 — 52

Notes'

Notes' From Firefox 52 onwards, the Battery Status API is only available in chrome/privileged code.

Opera Android

Full support 25

Safari iOS

No support No

Samsung Internet Android

Full support 3.0

getGamepads

Experimental'

Chrome Full support 35


Full support 35


Full support 21

Prefixed'

Prefixed' Implemented with the vendor prefix: webkit

Edge

Full support 12

Firefox

Full support 29

IE

No support No

Opera Full support 22


Full support 22


Full support 15

Prefixed'

Prefixed' Implemented with the vendor prefix: webkit

Safari

Full support 10.1

WebView Android Full support 37


Full support 37


Full support Yes

Prefixed'

Prefixed' Implemented with the vendor prefix: webkit

Chrome Android Full support 35


Full support 35


Full support 25

Prefixed'

Prefixed' Implemented with the vendor prefix: webkit

Firefox Android

No support No

Opera Android Full support 22


Full support 22


Full support 14

Prefixed'

Prefixed' Implemented with the vendor prefix: webkit

Safari iOS

Full support 10.3

Samsung Internet Android Full support 3.0


Full support 3.0


Full support 1.5

Prefixed'

Prefixed' Implemented with the vendor prefix: webkit

getUserMedia

Deprecated'Non-standard'

Chrome Full support 53


Full support 53


Full support 21

Prefixed'

Prefixed' Implemented with the vendor prefix: webkit

Edge Full support 12


Full support 12


Full support 79

Prefixed'

Prefixed' Implemented with the vendor prefix: webkit

Firefox Full support 17

Prefixed' Notes'

Full support 17

Prefixed' Notes'

Prefixed' Implemented with the vendor prefix: moz Notes' The constraint syntax described here is available as of Firefox 38. Earlier versions (32-37) used an outdated constraint syntax, but the syntax described here is available there through the adapter.js polyfill.

IE

No support No

Opera Full support 40


Full support 40


Full support 15

Prefixed'

Prefixed' Implemented with the vendor prefix: webkit No support 12 — 15


Safari

No support 11 — 12

WebView Android Full support 53


Full support 53


Full support 40

Prefixed'

Prefixed' Implemented with the vendor prefix: webkit

Chrome Android Full support 53


Full support 53


Full support 25

Prefixed'

Prefixed' Implemented with the vendor prefix: webkit

Firefox Android Full support 24

Prefixed' Notes'

Full support 24

Prefixed' Notes'

Prefixed' Implemented with the vendor prefix: moz Notes' The constraint syntax described here is available as of Firefox 38. Earlier versions (32-37) used an outdated constraint syntax, but the syntax described here is available there through the adapter.js polyfill.

Opera Android Full support 41


Full support 41


Full support 14

Prefixed'

Prefixed' Implemented with the vendor prefix: webkit No support 12 — 14


Safari iOS

No support 11 — 12

Samsung Internet Android Full support 6.0


Full support 6.0


Full support 1.5

Prefixed'

Prefixed' Implemented with the vendor prefix: webkit

getVRDisplays

Experimental'Deprecated'

Chrome No support No

Notes'

No support No

Notes'

Notes' Available on all platforms behind a flag, but currently only works on desktop in an experimental version of Chrome (other builds won't return any devices when Navigator.getVRDisplays() is invoked).

Edge

No support 15 — 79

Firefox Full support 55

Notes'

Full support 55

Notes'

Notes' Windows support was enabled in Firefox 55. Full support 64

Notes'

Notes' macOS support was enabled in Firefox 64.

IE

No support No

Opera

No support No

Safari

No support No

WebView Android

No support ? — 80

Chrome Android No support ? — 80

Notes'

No support ? — 80

Notes'

Notes' Currently supported only by Google Daydream.

Firefox Android

Full support 55

Opera Android

No support No

Safari iOS

No support No

Samsung Internet Android No support ? — 13.0

Notes'

No support ? — 13.0

Notes'

Notes' Currently supported only by Google Daydream.

keyboard

Experimental'

Chrome

Full support 68

Edge

Full support 79

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

Firefox Android

No support No

Opera Android

No support No

Safari iOS

No support No

Samsung Internet Android

No support No

locks

Experimental'

Chrome

Full support 69

Edge

Full support 79

Firefox

No support No

IE

No support No

Opera

Full support 56

Safari

No support No

WebView Android

Full support 69

Chrome Android

Full support 69

Firefox Android

No support No

Opera Android

Full support 48

Safari iOS

No support No

Samsung Internet Android

Full support 10.0

maxTouchPoints Chrome

Full support 35

Edge

Full support 12

Firefox Full support 59


Full support 59


Full support 29

Disabled'

Disabled' From version 29: this feature is behind the dom.w3c_pointer_events.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.

IE Full support 11


Full support 11


Full support 10

Prefixed'

Prefixed' Implemented with the vendor prefix: ms

Opera

Full support Yes

Safari

Full support 13

WebView Android

Full support 37

Chrome Android

Full support 35

Firefox Android Full support 29

Notes' Disabled'

Full support 29

Notes' Disabled'

Notes' See bug 1426786. Disabled' From version 29: this feature is behind the dom.w3c_pointer_events.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.

Opera Android

Full support Yes

Safari iOS

Full support 13

Samsung Internet Android

Full support 3.0

mediaCapabilities

Experimental'

Chrome

Full support 66

Edge

Full support 79

Firefox

Full support 63

IE

No support No

Opera

Full support 55

Safari

Full support 13

WebView Android

Full support 66

Chrome Android

Full support 66

Firefox Android

Full support 63

Opera Android

Full support 48

Safari iOS

Full support 13

Samsung Internet Android

Full support 9.0

mediaDevices Chrome

Full support 47

Edge

Full support 12

Firefox

Full support 36

IE

No support No

Opera

Full support 34

Safari

Full support 11

WebView Android

Full support 47

Chrome Android

Full support 47

Firefox Android

Full support 36

Opera Android

Full support 34

Safari iOS

Full support 11

Samsung Internet Android

Full support 5.0

mediaSession

Experimental'

Chrome

Full support 73

Edge

Full support 79

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 57

Firefox Android

No support No

Opera Android

No support No

Safari iOS

No support No

Samsung Internet Android

Full support 7.0

mozIsLocallyAvailable

Deprecated'Non-standard'

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

Firefox Android

No support ? — 35

Opera Android

No support No

Safari iOS

No support No

Samsung Internet Android

No support No

oscpu

Deprecated'

Chrome

No support No

Edge

No support No

Firefox Full support 1

Notes'

Full support 1

Notes'

Notes' The preference "general.oscpu.override" can be used to set a value to be returned instead of the true CPU description. The preference setting is ignored for calls made by privileged code, which continue to get the actual CPU description.

IE

No support No

Opera

No support No

Safari

No support No

WebView Android

No support No

Chrome Android

No support No

Firefox Android Full support 4

Notes'

Full support 4

Notes'

Notes' The preference "general.oscpu.override" can be used to set a value to be returned instead of the true CPU description. The preference setting is ignored for calls made by privileged code, which continue to get the actual CPU description.

Opera Android

No support No

Safari iOS

No support No

Samsung Internet Android

No support No

permissions

Experimental'

Chrome

Full support 43

Edge

Full support 79

Firefox

Full support 46

IE

No support No

Opera

Full support Yes

Safari

No support No

WebView Android

No support No

Chrome Android

Full support 43

Firefox Android

Full support 46

Opera Android

Full support Yes

Safari iOS

No support No

Samsung Internet Android

Full support 4.0

presentation Chrome

Full support 47

Edge

Full support 79

Firefox Full support 51

Disabled'

Full support 51

Disabled'

Disabled' From version 51: this feature is behind the dom.presentation.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.

IE

No support No

Opera

Full support 34

Safari

No support No

WebView Android

No support No

Chrome Android

Full support 47

Firefox Android Full support 51

Disabled'

Full support 51

Disabled'

Disabled' From version 51: this feature is behind the dom.presentation.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.

Opera Android

Full support 34

Safari iOS

No support No

Samsung Internet Android

Full support 5.0

productSub

Deprecated'

Chrome Full support 1

Notes'

Full support 1

Notes'

Notes' Always returns 20030107.

Edge Full support 12

Notes'

Full support 12

Notes'

Notes' Always returns 20030107.

Firefox

Full support 1

IE

No support No

Opera Full support 15

Notes'

Full support 15

Notes'

Notes' Always returns 20030107.

Safari Full support 1

Notes'

Full support 1

Notes'

Notes' Always returns 20030107.

WebView Android Full support 1

Notes'

Full support 1

Notes'

Notes' Always returns 20030107.

Chrome Android Full support 18

Notes'

Full support 18

Notes'

Notes' Always returns 20030107.

Firefox Android

Full support 4

Opera Android Full support 14

Notes'

Full support 14

Notes'

Notes' Always returns 20030107.

Safari iOS Full support 1

Notes'

Full support 1

Notes'

Notes' Always returns 20030107.

Samsung Internet Android Full support 1.0

Notes'

Full support 1.0

Notes'

Notes' Always returns 20030107.

registerContentHandler

Deprecated'Non-standard'

Chrome

?

Edge

?

Firefox

No support 2 — 62

IE

?

Opera

?

Safari

?

WebView Android

?

Chrome Android

?

Firefox Android

?

Opera Android

?

Safari iOS

?

Samsung Internet Android

?

registerProtocolHandler

Chrome Full support 13

Notes'

Full support 13

Notes'

Notes' Allowed schemes include mailto, mms, nntp, rtsp, and webcal. Custom protocols must be prefixed with web+. Notes' From Chrome 77, the URL parameter only accepts http or https URLs.

Edge Full support 79

Notes'

Full support 79

Notes'

Notes' Allowed schemes include mailto, mms, nntp, rtsp, and webcal. Custom protocols must be prefixed with web+.

Firefox

Full support 3

IE

No support No

Opera

Full support 11.6

Safari

No support No

WebView Android

No support No

Chrome Android

No support No

Firefox Android

No support No

Opera Android

No support No

Safari iOS

No support No

Samsung Internet Android

No support No

requestMediaKeySystemAccess

Chrome Full support 42

Notes'

Full support 42

Notes'

Notes' The spec requires that the passed supportedConfigurations option contain at least one of audioCapabilities or videoCapabilities, and that said parameters include a codec string. Notes' The function does not exist in insecure contexts. This was not enforced until Chrome 58.

Edge

Full support 13

Firefox Full support 38

Notes'

Full support 38

Notes'

Notes' Starting in Firefox 55, if neither audioCapabilities nor videoCapabilities is specified in supportedConfigurations, a warning is output to the web console. Notes' In addition, starting in Firefox 55, if in supportedConfigurations, either audioCapabilities's or videoCapabilities's contentType value doesn't specify a "codecs" substring to define allowed codecs within the media wrapper, a warning is output to the web console. See note below table for example and correction. Notes' In the future, if neither audioCapabilities nor videoCapabilities is specified in the supportedConfigurations, a NotSupported exception will be thrown.

IE

No support No

Opera Full support 29

Notes'

Full support 29

Notes'

Notes' The spec requires that the passed supportedConfigurations option contain at least one of audioCapabilities or videoCapabilities, and that said parameters include a codec string. Notes' The function does not exist in insecure contexts. This was not enforced until Opera 45.

Safari

Full support 13.1

WebView Android Full support 43

Notes'

Full support 43

Notes'

Notes' The spec requires that the passed supportedConfigurations option contain at least one of audioCapabilities or videoCapabilities, and that said parameters include a codec string. Notes' The function does not exist in insecure contexts. This was not enforced until version 58.

Chrome Android Full support 42

Notes'

Full support 42

Notes'

Notes' The spec requires that the passed supportedConfigurations option contain at least one of audioCapabilities or videoCapabilities, and that said parameters include a codec string. Notes' The function does not exist in insecure contexts. This was not enforced until Chrome 58.

Firefox Android Full support 38

Notes'

Full support 38

Notes'

Notes' Starting in Firefox 55, if neither audioCapabilities nor videoCapabilities is specified in supportedConfigurations, a warning is output to the web console. Notes' In addition, starting in Firefox 55, if in supportedConfigurations, either audioCapabilities's or videoCapabilities's contentType value doesn't specify a "codecs" substring to define allowed codecs within the media wrapper, a warning is output to the web console. See note below table for example and correction. Notes' In the future, if neither audioCapabilities nor videoCapabilities is specified in the supportedConfigurations, a NotSupported exception will be thrown.

Opera Android Full support 29

Notes'

Full support 29

Notes'

Notes' The spec requires that the passed supportedConfigurations option contain at least one of audioCapabilities or videoCapabilities, and that said parameters include a codec string. Notes' The function does not exist in insecure contexts. This was not enforced until Opera 45.

Safari iOS

Full support 13.4

Samsung Internet Android Full support 4.0

Notes'

Full support 4.0

Notes'

Notes' The spec requires that the passed supportedConfigurations option contain at least one of audioCapabilities or videoCapabilities, and that said parameters include a codec string. Notes' The function does not exist in insecure contexts. This was not enforced until Samsung Internet 7.0.

sendBeacon

Chrome Full support 39

Notes'

Full support 39

Notes'

Notes' Starting in Chrome 59, this method cannot send a Blob whose type is not CORS safelisted. This is a temporary change until a mitigation can be found for the security issues that this creates. For more information see Chrome bug 720283.

Edge

Full support 14

Firefox

Full support 31

IE

No support No

Opera Full support 26

Notes'

Full support 26

Notes'

Notes' Starting in Opera 46, this method cannot send a Blob whose type is not CORS safelisted. This is a temporary change until a mitigation can be found for the security issues that this creates. For more information see Chrome bug 720283.

Safari

Full support 11.1

WebView Android Full support 40

Notes'

Full support 40

Notes'

Notes' Starting in Chrome 59, this method cannot send a Blob whose type is not CORS safelisted. This is a temporary change until a mitigation can be found for the security issues that this creates. For more information see Chrome bug 720283.

Chrome Android Full support 42

Notes'

Full support 42

Notes'

Notes' Starting in Chrome 59, this method cannot send a Blob whose type is not CORS safelisted. This is a temporary change until a mitigation can be found for the security issues that this creates. For more information see Chrome bug 720283.

Firefox Android

Full support 31

Opera Android Full support 26

Notes'

Full support 26

Notes'

Notes' Starting in Opera 46, this method cannot send a Blob whose type is not CORS safelisted. This is a temporary change until a mitigation can be found for the security issues that this creates. For more information see Chrome bug 720283.

Safari iOS

Full support 11.3

Samsung Internet Android Full support 4.0

Notes'

Full support 4.0

Notes'

Notes' Starting in Samsung Internet 7.0, this method cannot send a Blob whose type is not CORS safelisted. This is a temporary change until a mitigation can be found for the security issues that this creates. For more information see Chrome bug 720283.

serviceWorker Chrome

Full support 40

Edge Full support 17


Full support 17


Full support 16

Disabled'

Disabled' From version 16: this feature is behind the Enable service workers preference.

Firefox Full support 44

Notes'

Full support 44

Notes'

Notes' Extended Support Releases (ESR) before Firefox 78 ESR do not support service workers and the Push API.

IE

No support No

Opera

Full support 27

Safari

Full support 11.1

WebView Android

Full support 40

Chrome Android

Full support 40

Firefox Android

Full support 44

Opera Android

Full support 27

Safari iOS

Full support 11.3

Samsung Internet Android

Full support 4.0

share

Experimental'

Chrome

No support No

Edge

Full support 81

Firefox

No support No

IE

No support No

Opera

No support No

Safari

Full support 12.1

WebView Android

No support No

Chrome Android

Full support 61

Firefox Android

No support No

Opera Android

Full support 48

Safari iOS

Full support 12.2

Samsung Internet Android

Full support 8.0

vendor Chrome

Full support 1

Edge

Full support 12

Firefox

Full support 1

IE

Full support 11

Opera

Full support 15

Safari

Full support 1

WebView Android

Full support 1

Chrome Android

Full support 18

Firefox Android

Full support 4

Opera Android

Full support 14

Safari iOS

Full support 1

Samsung Internet Android

Full support 1.0

vendorSub

Deprecated'

Chrome

Full support 1

Edge

Full support 12

Firefox

Full support 1

IE

No support No

Opera

Full support 15

Safari

Full support 3

WebView Android

Full support 1

Chrome Android

Full support 18

Firefox Android

Full support 4

Opera Android

Full support 14

Safari iOS

Full support 1

Samsung Internet Android

Full support 1.0

vibrate Chrome

Full support 32

Edge

Full support 79

Firefox Full support 16

Notes'

Full support 16

Notes'

Notes' Until Firefox 26 included, when the vibration pattern was too long or any of its elements too large, Firefox threw an exception instead of returning false (bug 884935). Notes' From Firefox 32 onwards, when the vibration pattern is too long or any of its elements too large, it returns true but truncates the pattern (bug 1014581). Notes' Beginning in Firefox 72, this is not supported in cross-origin iframes. Full support 11

Prefixed'

Prefixed' Implemented with the vendor prefix: moz

IE

No support No

Opera

No support No

Safari

No support No

WebView Android Full support 4.4.3

Notes'

Full support 4.4.3

Notes'

Notes' Beginning in version 55, this is not supported in cross-origin iframes. Notes' Beginning in version 60, this method requires a user gesture. Otherwise it returns false.

Chrome Android Full support 32

Notes'

Full support 32

Notes'

Notes' Beginning in Chrome 55, this is not supported in cross-origin iframes. Notes' Beginning in Chrome 60, this method requires a user gesture. Otherwise it returns false.

Firefox Android Full support 16

Notes'

Full support 16

Notes'

Notes' Until Firefox 26 included, when the vibration pattern was too long or any of its elements too large, Firefox threw an exception instead of returning false (bug 884935). Notes' From Firefox 32 onwards, when the vibration pattern is too long or any of its elements too large, it returns true but truncates the pattern (bug 1014581). Full support 14

Prefixed'

Prefixed' Implemented with the vendor prefix: moz

Opera Android Full support Yes

Notes'

Full support Yes

Notes'

Notes' Beginning in Opera 47, this method requires a user gesture. Otherwise it returns false.

Safari iOS

No support No

Samsung Internet Android Full support 2.0

Notes'

Full support 2.0

Notes'

Notes' Beginning in Samsung Internet 6.0, this is not supported in cross-origin iframes. Notes' Beginning in Samsung Internet 8.0, this method requires a user gesture. Otherwise it returns false.

wakeLock

Experimental'

Chrome

Full support 84

Edge

Full support 84

Firefox

No support No

IE

No support No

Opera

Full support Yes

Safari

No support No

WebView Android

Full support 84

Chrome Android

Full support 84

Firefox Android

No support No

Opera Android

Full support Yes

Safari iOS

No support No

Samsung Internet Android

No support No

webdriver

Experimental'

Chrome

Full support 63

Edge

Full support 12

Firefox

Full support 60

IE

Full support 11

Opera

Full support 50

Safari

Full support 10

WebView Android

Full support 63

Chrome Android

Full support 63

Firefox Android

Full support 60

Opera Android

Full support 46

Safari iOS

Full support 10

Samsung Internet Android

Full support 8.0

xr

Experimental'

Chrome

Full support 79

Edge

Full support 79

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 79

Firefox Android

No support No

Opera Android

No support No

Safari iOS

No support No

Samsung Internet Android

Full support 11.2

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.