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.activeVRDisplays Read only
Returns an array containing every VRDisplay object that is currently presenting (VRDisplay.ispresenting is true).
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.
NavigatorOnLine.onLine Read only
Returns a Boolean indicating whether the browser is working online.
Navigator.oscpu
Returns a string that represents the current operating system.
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 persistance 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.webdriver Read 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. 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.mozNotification Deprecated since Gecko 22
Navigator.webkitNotification
Returns a notification object you can use to deliver notifications to the user from your web application.
Navigator.mozSocial
The Object, returned by the navigator.mozSocial property, is available within the social media provider's panel to provide functionality it may need.
Navigator.presentation
Returns a reference to the Presentation API.
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.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() 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

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

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidiOS SafariSamsung Internet
Basic supportChrome Full support YesEdge Full support YesFirefox Full support YesIE Full support YesOpera Full support YesSafari Full support YesWebView Android Full support YesChrome Android Full support YesEdge Mobile Full support YesFirefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
activeVRDisplays
Experimental
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 Full support YesFirefox Full support 55
Notes
Full support 55
Notes
Notes Currently only Windows support is enabled by default. Mac support is available in Firefox Nightly.
IE No support NoOpera No support NoSafari No support NoWebView Android Full support YesChrome Android Full support Yes
Notes
Full support Yes
Notes
Notes Currently supported only by Google Daydream.
Edge Mobile No support NoFirefox Android Full support 55Opera Android No support NoSafari iOS No support NoSamsung Internet Android ?
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 No support NoFirefox No support NoIE No support NoOpera ? Safari No support NoWebView Android Full support 67
Disabled
Full support 67
Disabled
Disabled From version 67: this feature is behind the WebAuth preference.
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.
Edge Mobile No support NoFirefox Android No support NoOpera Android ? Safari iOS No support NoSamsung Internet Android No support No
battery
Deprecated
Chrome Full support 38Edge ? 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 NoOpera No support NoSafari No support NoWebView Android ? Chrome Android Full support 38Edge Mobile ? 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 NoSafari iOS No support NoSamsung Internet Android ?
buildID
Non-standard
Chrome ? Edge ? Firefox Full support 2IE ? Opera ? Safari ? WebView Android ? Chrome Android ? Edge Mobile ? Firefox Android Full support YesOpera Android ? Safari iOS ? Samsung Internet Android ?
clipboardChrome Full support 66Edge ? Firefox Full support 63IE ? Opera ? Safari ? WebView Android Full support 66Chrome Android Full support 66Edge Mobile ? Firefox Android Full support 63Opera Android ? Safari iOS ? Samsung Internet Android ?
connection
Experimental
Chrome Full support 61Edge ? Firefox ? IE No support NoOpera ? Safari No support NoWebView Android Full support 50Chrome Android Full support 38Edge Mobile ? 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 37Safari iOS No support NoSamsung Internet Android ?
cookieEnabledChrome Full support 59Edge Full support YesFirefox 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 YesWebView Android Full support 59Chrome Android Full support 59Edge Mobile Full support YesFirefox 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 YesSamsung Internet Android ?
credentials
Experimental
Chrome Full support 51Edge Full support 18Firefox ? IE ? Opera ? Safari ? WebView Android Full support 51Chrome Android Full support 51Edge Mobile ? Firefox Android ? Opera Android ? Safari iOS ? Samsung Internet Android ?
deviceMemory
Experimental
Chrome Full support 63Edge ? Firefox ? IE ? Opera Full support 50Safari ? WebView Android Full support 63Chrome Android Full support 63Edge Mobile ? Firefox Android ? Opera Android Full support 50Safari iOS ? Samsung Internet Android ?
doNotTrack
Experimental
Chrome Full support 23Edge No support No
Notes
No support No
Notes
Notes Use window.doNotTrack instead.
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 YesEdge Mobile No support No
Notes
No support No
Notes
Notes Use window.doNotTrack instead.
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 ?
geolocationChrome Full support 5Edge Full support YesFirefox Full support 3.5IE Full support 9Opera Full support 16
Full support 16
No support 10.6 — 15
Safari Full support 5WebView Android Full support YesChrome Android Full support YesEdge Mobile Full support YesFirefox Android Full support 4Opera Android Full support 10.6Safari iOS Full support YesSamsung Internet Android ?
getBattery
Deprecated
Chrome Full support 39Edge ? 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 NoOpera Full support 25Safari No support NoWebView Android Full support 40Chrome Android Full support 42Edge Mobile ? 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 25Safari iOS No support NoSamsung Internet Android ?
getGamepads
Experimental
Chrome Full support 35
Full support 35
Full support 21
Prefixed
Prefixed Implemented with the vendor prefix: -webkit-
Edge Full support YesFirefox 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 42Edge Mobile Full support YesFirefox Android No support NoOpera Android No support NoSafari iOS No support NoSamsung Internet Android ?
getUserMedia
DeprecatedNon-standard
Chrome Full support 21
Prefixed Notes
Full support 21
Prefixed Notes
Prefixed Implemented with the vendor prefix: webkit
Notes Later versions of Chrome support the unprefixed MediaDevices.getUserMedia() which replaced this deprecated method.
Edge Full support YesFirefox 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
Full support 12
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 40
Prefixed Notes
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 No support NoEdge Mobile Full support YesFirefox 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 12
Notes
Full support 12
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 No support No
getVRDisplays
Experimental
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 Full support YesFirefox Full support 55
Notes
Full support 55
Notes
Notes Currently only Windows support is enabled by default. Mac support is available in Firefox Nightly.
IE No support NoOpera No support NoSafari No support NoWebView Android Full support YesChrome Android Full support Yes
Notes
Full support Yes
Notes
Notes Currently supported only by Google Daydream.
Edge Mobile No support NoFirefox Android Full support 55Opera Android No support NoSafari iOS No support NoSamsung Internet Android ?
keyboard
Experimental
Chrome Full support 68Edge No support NoFirefox No support NoIE No support NoOpera Full support 55Safari No support NoWebView Android No support NoChrome Android No support NoEdge Mobile 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 ? Firefox ? IE ? Opera Full support 56Safari ? WebView Android Full support 69Chrome Android Full support 69Edge Mobile ? Firefox Android ? Opera Android Full support 56Safari iOS ? Samsung Internet Android ?
maxTouchPointsChrome Full support 35Edge ? 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 ? Safari No support NoWebView Android Full support 37Chrome Android Full support 35Edge Mobile ? 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 ? Safari iOS No support NoSamsung Internet Android ?
mediaCapabilities
Experimental
Chrome Full support 66Edge No support NoFirefox Full support 63IE No support NoOpera Full support 55Safari No support NoWebView Android Full support 66Chrome Android Full support 66Edge Mobile No support NoFirefox Android Full support 63Opera Android Full support 55Safari iOS No support NoSamsung Internet Android ?
mediaDevicesChrome Full support 51Edge Full support YesFirefox Full support 36IE Full support YesOpera No support NoSafari No support NoWebView Android Full support 51Chrome Android Full support 51Edge Mobile Full support YesFirefox Android Full support 36Opera Android No support NoSafari iOS No support NoSamsung Internet Android ?
mediaSession
ExperimentalNon-standard
Chrome No support NoEdge ? Firefox ? IE ? Opera No support NoSafari ? WebView Android No support NoChrome Android Full support 57Edge Mobile ? Firefox Android ? Opera Android No support NoSafari iOS ? Samsung Internet Android ?
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 NoEdge Mobile 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 ? Firefox Full support YesIE ? Opera ? Safari ? WebView Android No support NoChrome Android No support NoEdge Mobile ? Firefox Android Full support YesOpera Android ? Safari iOS ? Samsung Internet Android ?
permissions
Experimental
Chrome Full support 43Edge ? Firefox Full support 46IE ? Opera ? Safari ? WebView Android Full support 43Chrome Android Full support 43Edge Mobile ? Firefox Android Full support 46Opera Android ? Safari iOS ? Samsung Internet Android ?
presentationChrome Full support YesEdge ? Firefox No support NoIE ? Opera ? Safari ? WebView Android Full support YesChrome Android Full support YesEdge Mobile ? Firefox Android No support NoOpera Android ? Safari iOS ? Samsung Internet Android ?
productSub
Non-standard
Chrome Full support Yes
Notes
Full support Yes
Notes
Notes Always returns 20030107.
Edge ? Firefox Full support YesIE Full support Yes
Notes
Full support Yes
Notes
Notes Always returns undefined.
Opera ? Safari Full support Yes
Notes
Full support Yes
Notes
Notes Always returns 20030107.
WebView Android ? Chrome Android Full support Yes
Notes
Full support Yes
Notes
Notes Always returns 20030107.
Edge Mobile ? Firefox Android Full support YesOpera Android ? Safari iOS Full support Yes
Notes
Full support Yes
Notes
Notes Always returns 20030107.
Samsung Internet Android ?
registerContentHandler
DeprecatedNon-standard
Chrome ? Edge ? Firefox No support 2 — 62IE ? Opera ? Safari ? WebView Android ? Chrome Android ? Edge Mobile ? Firefox Android ? Opera Android ? Safari iOS ? Samsung Internet Android ?
registerProtocolHandlerChrome Full support 13
Notes
Full support 13
Notes
Notes Protocol whitelist includes mailto, mms, nntp, rtsp, and webcal. Custom protocols must be prefixed with web+.
Edge ? Firefox Full support 3IE ? Opera Full support 11.6Safari ? WebView Android ? Chrome Android ? Edge Mobile ? Firefox Android Full support 4Opera Android ? Safari iOS No support NoSamsung Internet Android ?
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 YesFirefox 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.
Edge Mobile Full support YesFirefox 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 ?
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 YesFirefox 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.
Edge Mobile Full support YesFirefox Android Full support 31Opera Android Full support 29
Notes
Full support 29
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 No support NoSamsung Internet Android ?
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 Service workers (and Push) have been disabled in the Firefox 45 and 52 Extended Support Releases (ESR).
IE No support NoOpera Full support 27Safari Full support 11.1WebView Android Full support 40Chrome Android Full support 40Edge Mobile ? Firefox Android Full support 44Opera Android Full support 27Safari iOS Full support 11.1Samsung Internet Android ?
share
Experimental
Chrome No support NoEdge ? Firefox No support NoIE No support NoOpera No support NoSafari No support NoWebView Android Full support 61Chrome Android Full support 61Edge Mobile ? Firefox Android No support NoOpera Android Full support 48Safari iOS No support NoSamsung Internet Android ?
vendorChrome Full support 1Edge Full support YesFirefox Full support YesIE Full support YesOpera Full support YesSafari Full support YesWebView Android Full support YesChrome Android Full support YesEdge Mobile 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 ? Firefox Full support YesIE Full support YesOpera Full support 15Safari Full support YesWebView Android Full support YesChrome Android Full support YesEdge Mobile ? Firefox Android Full support YesOpera Android Full support 15Safari iOS Full support YesSamsung Internet Android ?
vibrateChrome Full support 32Edge ? 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).
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.
Edge Mobile ? 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 ?
webdriver
Experimental
Chrome Full support 63Edge ? Firefox ? IE ? Opera Full support 50Safari ? WebView Android ? Chrome Android Full support 63Edge Mobile ? Firefox Android ? Opera Android Full support 50Safari 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.