Navigator

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

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.battery Read only
Returns a BatteryManager object you can use to get information about the battery charging status.
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.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.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.maxTouchPoints Read only
Returns the maximum number of simultaneous touch contact points are supported by the current device.
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.
NavigatorID.platform Read only
Returns a string representing the platform of the browser. Do not rely on this function to return a significant value.
NavigatorPlugins.plugins Read only
Returns a PluginArray listing the plugins installed in the browser.
NavigatorID.product Read only
Always returns 'Gecko', on any browser. This property is kept only for compatibility purpose.
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.xr Read only
Returns XR object, which represents the entry point into the WebXR API.

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. 20181001000000 in Firefox 64 onwards.
Navigator.credentials
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
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 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
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.
Navigator.mozNotification Deprecated since Gecko 22
...
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.
Navigator.webkitNotification
Returns a notification object you can use to deliver notifications to the user from your web application.
Navigator.oscpu
Returns a string that represents the current operating system.
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.storageQuota Read only
Returns a StorageQuota interface 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.canShare()
Returns true if a call to Navigator.share() would succeed.
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 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.
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

Navigator.mozIsLocallyAvailable()
Lets code check to see if the document at a given URI is available without using the network.

Specifications

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

Browser compatibility

DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
NavigatorChrome Full support 1Edge Full support 12Firefox Full support 1IE Full support 4Opera Full support 3Safari Full support 1WebView Android Full support 1Chrome Android Full support 18Firefox Android Full support 4Opera Android Full support 10.1Safari iOS Full support 1Samsung Internet Android Full support 1.0
authenticationChrome 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 NoIE No support NoOpera ? Safari No support NoWebView Android No support NoChrome 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 NoOpera Android ? Safari iOS No support NoSamsung 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 NoFirefox 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 NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoFirefox 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 NoSafari iOS No support NoSamsung Internet Android No support No
buildID
Non-standard
Chrome No support NoEdge No support NoFirefox 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 NoChrome Android No support NoFirefox 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
canShareChrome No support NoEdge No support NoFirefox No support NoIE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android Full support 75Firefox Android No support NoOpera Android No support NoSafari iOS No support NoSamsung Internet Android Full support 11.0
clipboardChrome Full support 66Edge Full support ≤79Firefox Full support 63IE ? Opera Full support YesSafari Full support 13.1WebView Android Full support 66Chrome Android Full support 66Firefox Android Full support 63Opera Android Full support YesSafari iOS Full support 13.4Samsung Internet Android Full support 9.0
connection
Experimental
Chrome Full support 61Edge Full support ≤79Firefox 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 NoOpera Full support YesSafari No support NoWebView Android Full support 50Chrome Android Full support 38Firefox 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 37Safari iOS No support NoSamsung Internet Android Full support 3.0
cookieEnabledChrome Full support 1Edge Full support 12Firefox 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 YesOpera Full support YesSafari Full support 1WebView Android Full support 1Chrome Android Full support 18Firefox 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 YesSafari iOS Full support 1Samsung Internet Android Full support 7.0
credentials
Experimental
Chrome Full support 51Edge Full support 18Firefox Full support YesIE ? Opera Full support YesSafari ? WebView Android Full support 51Chrome Android Full support 51Firefox Android Full support YesOpera Android ? Safari iOS ? Samsung Internet Android Full support 5.0
deviceMemory
Experimental
Chrome Full support 63Edge Full support ≤79Firefox ? IE ? Opera Full support 50Safari ? WebView Android Full support 63Chrome Android Full support 63Firefox Android ? Opera Android Full support 46Safari iOS ? Samsung Internet Android Full support 8.0
doNotTrack
Experimental
Chrome Full support 23Edge 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 12Safari 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 YesChrome Android Full support YesFirefox 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
geolocationChrome Full support 5Edge Full support 12Firefox Full support 3.5IE Full support 9Opera Full support 10.6Safari Full support 5WebView Android Full support ≤37Chrome Android Full support 18Firefox Android Full support 4Opera Android Full support 11Safari iOS Full support 4.2Samsung Internet Android Full support 1.0
getBattery
Deprecated
Chrome Full support 45Edge Full support 79Firefox 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 NoOpera Full support 25Safari No support NoWebView Android Full support 45Chrome Android Full support 45Firefox 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 25Safari iOS No support NoSamsung Internet Android Full support 5.0
getGamepads
Experimental
Chrome Full support 35
Full support 35
Full support 21
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Edge Full support 12Firefox Full support 29IE No support NoOpera Full support 22
Full support 22
Full support 15
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Safari No support NoWebView 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 NoOpera Android Full support 22
Full support 22
Full support 14
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Safari iOS No support NoSamsung Internet Android Full support 3.0
Full support 3.0
Full support 1.5
Prefixed
Prefixed Implemented with the vendor prefix: webkit
getUserMedia
DeprecatedNon-standard
Chrome Full support 53
Full support 53
Full support 21
Prefixed Notes
Prefixed Implemented with the vendor prefix: webkit
Notes An outdated constraint syntax is still in use, but the syntax described here is available through the adapter.js polyfill.
Edge Full support 12Firefox 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 NoOpera Full support 18
Prefixed
Full support 18
Prefixed
Prefixed Implemented with the vendor prefix: webkit
No support 12 — 15
Notes
Notes An outdated constraint syntax is still in use, but the syntax described here is available through the adapter.js polyfill.
Safari No support NoWebView Android Full support 53
Full support 53
Full support 40
Prefixed Notes
Prefixed Implemented with the vendor prefix: webkit
Notes An outdated constraint syntax is still in use, but the syntax described here is available through the adapter.js polyfill.
Chrome Android Full support 53
Full support 53
Full support 25
Prefixed Notes
Prefixed Implemented with the vendor prefix: webkit
Notes An outdated constraint syntax is still in use, but the syntax described here is available through the adapter.js polyfill.
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 No support 12 — 14
Notes
No support 12 — 14
Notes
Notes An outdated constraint syntax is still in use, but the syntax described here is available through the adapter.js polyfill.
Safari iOS No support NoSamsung Internet Android Full support 6.0
Full support 6.0
Full support 1.5
Prefixed Notes
Prefixed Implemented with the vendor prefix: webkit
Notes An outdated constraint syntax is still in use, but the syntax described here is available through the adapter.js polyfill.
keyboard
Experimental
Chrome Full support 68Edge Full support 79Firefox No support NoIE No support NoOpera Full support 55Safari No support NoWebView Android No support NoChrome Android No support NoFirefox Android No support NoOpera Android No support NoSafari iOS No support NoSamsung Internet Android No support No
locks
Experimental
Chrome Full support 69Edge Full support ≤79Firefox ? IE ? Opera Full support 56Safari ? WebView Android Full support 69Chrome Android Full support 69Firefox Android ? Opera Android Full support 48Safari iOS ? Samsung Internet Android Full support 10.0
maxTouchPointsChrome Full support 35Edge Full support 12Firefox 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 YesSafari No support NoWebView Android Full support 37Chrome Android Full support 35Firefox 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 YesSafari iOS No support NoSamsung Internet Android Full support 3.0
mediaCapabilities
Experimental
Chrome Full support 66Edge Full support 79Firefox Full support 63IE No support NoOpera Full support 55Safari No support NoWebView Android Full support 66Chrome Android Full support 66Firefox Android Full support 63Opera Android Full support 48Safari iOS No support NoSamsung Internet Android Full support 9.0
mediaDevicesChrome Full support 51Edge Full support 12Firefox Full support 36IE Full support YesOpera No support NoSafari No support NoWebView Android Full support 51Chrome Android Full support 51Firefox Android Full support 36Opera Android No support NoSafari iOS No support NoSamsung Internet Android Full support 5.0
mediaSession
Experimental
Chrome No support NoEdge No support NoFirefox Full support 71IE No support NoOpera No support NoSafari ? WebView Android No support NoChrome Android Full support 57Firefox Android ? Opera Android No support NoSafari iOS ? Samsung Internet Android Full support 7.0
mozIsLocallyAvailable
DeprecatedNon-standard
Chrome No support NoEdge No support NoFirefox No support ? — 35IE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android No support ? — 35Opera Android No support NoSafari iOS No support NoSamsung Internet Android No support No
oscpu
DeprecatedNon-standard
Chrome No support NoEdge No support NoFirefox Full support Yes
Notes
Full support Yes
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 NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android Full support YesOpera Android No support NoSafari iOS No support NoSamsung Internet Android No support No
permissions
Experimental
Chrome Full support 43Edge Full support 79Firefox Full support 46IE No support NoOpera Full support YesSafari No support NoWebView Android No support NoChrome Android Full support 43Firefox Android Full support 46Opera Android Full support YesSafari iOS No support NoSamsung Internet Android Full support 4.0
productSub
Non-standard
Chrome Full support Yes
Notes
Full support Yes
Notes
Notes Always returns 20030107.
Edge Full support 12Firefox Full support YesIE Full support Yes
Notes
Full support Yes
Notes
Notes Always returns undefined.
Opera Full support YesSafari Full support Yes
Notes
Full support Yes
Notes
Notes Always returns 20030107.
WebView Android Full support YesChrome Android Full support Yes
Notes
Full support Yes
Notes
Notes Always returns 20030107.
Firefox Android Full support YesOpera Android Full support YesSafari iOS Full support Yes
Notes
Full support Yes
Notes
Notes Always returns 20030107.
Samsung Internet Android Full support Yes
Notes
Full support Yes
Notes
Notes Always returns 20030107.
registerContentHandler
DeprecatedNon-standard
Chrome ? Edge ? Firefox No support 2 — 62IE ? Opera ? Safari ? WebView Android ? Chrome Android ? Firefox Android ? Opera Android ? Safari iOS ? Samsung Internet Android ?
registerProtocolHandlerChrome 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 3IE ? Opera Full support 11.6Safari ? WebView Android No support NoChrome Android No support NoFirefox Android No support NoOpera Android ? Safari iOS No support NoSamsung Internet Android Full support Yes
requestMediaKeySystemAccessChrome 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 13Firefox Full support Yes
Notes
Full support Yes
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 ? 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 ? 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 Yes
Notes
Full support Yes
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 ? 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.
sendBeaconChrome 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 14Firefox Full support 31IE No support NoOpera 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.1WebView 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 31Opera 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.3Samsung 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.
serviceWorkerChrome Full support 40Edge 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 NoOpera Full support 27Safari Full support 11.1WebView Android Full support 40Chrome Android Full support 40Firefox Android Full support 44Opera Android Full support 27Safari iOS Full support 11.3Samsung Internet Android Full support 4.0
share
Experimental
Chrome No support NoEdge No support NoFirefox No support NoIE No support NoOpera No support NoSafari Full support 12.1WebView Android No support NoChrome Android Full support 61Firefox Android No support NoOpera Android Full support 48Safari iOS Full support 12.2Samsung Internet Android Full support 8.0
vendorChrome Full support 1Edge Full support 12Firefox Full support YesIE Full support YesOpera Full support YesSafari Full support YesWebView Android Full support YesChrome Android Full support YesFirefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
vendorSub
Non-standard
Chrome Full support YesEdge Full support 12Firefox Full support YesIE Full support YesOpera Full support 15Safari Full support YesWebView Android Full support YesChrome Android Full support YesFirefox Android Full support YesOpera Android Full support 14Safari iOS Full support YesSamsung Internet Android Full support Yes
vibrateChrome Full support 32Edge Full support ≤79Firefox 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 NoOpera No support NoSafari No support NoWebView 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 NoSamsung 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.
xr
Experimental
Chrome Full support 79Edge Full support 79Firefox No support NoIE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android Full support 79Firefox Android No support NoOpera Android No support NoSafari iOS No support NoSamsung 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.