W3cubDocs

/Web APIs

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.

Instance properties

Doesn't inherit any properties.

Standard properties

Navigator.clipboard Read only

Returns a Clipboard object that provides read and write access to the system clipboard.

Navigator.connection Read only Experimental

Returns 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 Experimental

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.geolocation Read only

Returns a Geolocation object allowing accessing the location of the device.

Navigator.gpu Read only Experimental

Returns the GPU object for the current browsing context. The entry point for the WebGPU API.

Navigator.hid Read only Experimental

Returns an HID object providing methods for connecting to HID devices, listing attached HID devices, and event handlers for connected HID devices.

Navigator.hardwareConcurrency Read only

Returns the number of logical processor cores available.

Navigator.ink Read only Experimental

Returns an Ink object for the current document, providing access to Ink API functionality.

Navigator.keyboard Read only Experimental

Returns a Keyboard object which provides access to functions that retrieve keyboard layout maps and toggle capturing of key presses from the physical keyboard.

Navigator.language Read only

Returns a string representing the preferred language of the user, usually the language of the browser UI. The null value is returned when this is unknown.

Navigator.languages Read only

Returns an array of strings representing the languages known to the user, by order of preference.

Navigator.locks Read only

Returns a LockManager object that 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.

Navigator.onLine Read only

Returns a boolean value indicating whether the browser is working online.

Navigator.pdfViewerEnabled Read only

Returns true if the browser can display PDF files inline when navigating to them, and false otherwise.

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.

Navigator.presentation Read only

Returns a reference to the Presentation API.

Navigator.serial Read only Experimental

Returns a Serial object, which represents the entry point into the Web Serial API to enable the control of serial ports.

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.

Navigator.scheduling Read only Experimental

Returns a Scheduling object for the current document.

Navigator.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.

Navigator.userActivation Read only

Returns a UserActivation object containing information about the current window's user activation state.

Navigator.userAgent Read only

Returns the user agent string for the current browser.

Navigator.userAgentData Read only Experimental

Returns a NavigatorUAData object, which gives access to information about the browser and operating system of the user.

Navigator.virtualKeyboard Read only Experimental

Returns a reference to the VirtualKeyboard API, to take control of the on-screen virtual keyboard.

Navigator.webdriver Read only

Indicates whether the user agent is controlled by automation.

Navigator.windowControlsOverlay Read only

Returns the WindowControlsOverlay interface which exposes information about the geometry of the title bar in desktop Progressive Web Apps, and an event to know whenever it changes.

Navigator.xr Read only Experimental

Returns XRSystem object, which represents the entry point into the WebXR API.

Non-standard properties

Navigator.buildID Non-standard

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 Experimental

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.globalPrivacyControl Read only Experimental

Returns a boolean indicating a user's consent to their information being shared or sold.

Navigator.securitypolicy Non-standard

Returns an empty string. In Netscape 4.7x, returns "US & CA domestic policy" or "Export policy".

Navigator.standalone Non-standard

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

Navigator.appCodeName Read only Deprecated

Always returns 'Mozilla', in any browser.

Navigator.appName Read only Deprecated

Always returns 'Netscape', in any browser.

Navigator.appVersion Read only Deprecated

Returns the version of the browser as a string. Do not rely on this property to return the correct value.

Navigator.activeVRDisplays Read only Deprecated Non-standard

Returns an array containing every VRDisplay object that is currently presenting (VRDisplay.ispresenting is true).

Navigator.doNotTrack Read only Deprecated

Reports the value of the user's do-not-track preference. When this value is "1", your website or application should not track the user.

Navigator.mimeTypes Read only Deprecated

Returns an MimeTypeArray listing the MIME types supported by the browser.

Navigator.oscpu Read only Deprecated

Returns a string that represents the current operating system.

Navigator.platform Read only Deprecated

Returns a string representing the platform of the browser. Do not rely on this function to return a significant value.

Navigator.plugins Read only Deprecated

Returns a PluginArray listing the plugins installed in the browser.

Navigator.product Read only Deprecated

Always returns 'Gecko', in any browser.

Navigator.productSub Read only Deprecated

Returns either the string '20030107', or '"20100101'.

Navigator.vendor Read only Deprecated

Returns either the empty string, 'Apple Computer Inc.', or 'Google Inc.'.

Navigator.vendorSub Read only Deprecated

Always returns the empty string.

Instance methods

Doesn't inherit any method.

Navigator.canShare()

Returns true if a call to Navigator.share() would succeed.

Navigator.clearAppBadge()

Clears a badge on the current app's icon and returns a Promise that resolves with undefined.

Navigator.getAutoplayPolicy() Experimental

Returns a value indicating whether the specified media element, audio context, or media feature "type" is allowed to autoplay.

Navigator.getBattery()

Returns a promise that resolves with a BatteryManager object that returns information about the battery charging status.

Navigator.getInstalledRelatedApps() Experimental

Returns a promise that resolves with an array of objects representing any related native or Progressive Web Applications that the user has installed.

Navigator.registerProtocolHandler()

Allows websites to register themselves as a possible handler for a given protocol.

Navigator.unregisterProtocolHandler()

Unregister a website that is a handler for a given protocol.

Navigator.requestMediaKeySystemAccess()

Returns a Promise for a MediaKeySystemAccess object.

Navigator.requestMIDIAccess()

Returns a Promise representing a request for access to MIDI devices on the user's system.

Navigator.sendBeacon()

Used to asynchronously transfer a small amount of data using HTTP from the User Agent to a web server.

Navigator.setAppBadge()

Sets a badge on the icon associated with this app and returns a Promise that resolves with undefined.

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() Deprecated Non-standard

Returns a promise that resolves to an array of VRDisplay objects representing any available VR devices connected to the computer.

Navigator.getUserMedia() Deprecated

After having prompted the user for permission, returns the audio or video stream associated to a camera or microphone on the local computer.

Navigator.taintEnabled() Deprecated

Returns false. JavaScript taint/untaint functions removed in JavaScript 1.2.

Navigator.javaEnabled() Deprecated

Always returns false.

Specifications

Browser compatibility

Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox for Android Opera Android Safari on IOS Samsung Internet
Navigator 1 12 1 4 3 1 4.4 18 4 10.1 1 1.0
activeVRDisplays No
15–79WebVR content requires a Windows Mixed Reality headset or the Windows Mixed Reality Portal Simulator.
98
64–98macOS support was enabled in Firefox 64.
55–98Windows support was enabled in Firefox 55.
No No No No
79–80Supported only by Google Daydream.
55 No No
12.0–13.0Supported only by Google Daydream.
appCodeName 1 12 1 4 ≤12.1 1 4.4 18 4 ≤12.1 1 1.0
appName 1 12 1 4 ≤12.1 1 4.4 18 4 ≤12.1 1 1.0
appVersion 1 12 1 4 ≤12.1 1 4.4 18 4 ≤12.1 1 1.0
audioSession No No No No No 16.4 No No No No 16.4 No
authentication 67 79 No No 54 No No 67 No No No No
bluetooth
56Before Chrome 70, this feature was only supported in macOS. In Chrome 70, support was added for Windows 10. Linux support is not enabled by default.
56In Linux and versions of Windows earlier than 10, this flag must be enabled.
79Supported by default only on macOS and Windows 10. Linux support is not enabled by default.
79In Linux and versions of Windows earlier than 10, this flag must be enabled.
No No
43Before Opera 57, this feature was only supported in macOS. In Opera 57, support was added for Windows 10. Linux support is not enabled by default.
43In Linux and versions of Windows earlier than 10, this flag must be enabled.
No No 56 No 43 No 6.0
buildID No No
2Since Firefox 64, this property returns a fixed timestamp as a privacy measure - 20181001000000.
No No No No No
4Since Firefox 64, this property returns a fixed timestamp as a privacy measure - 20181001000000.
No No No
canShare
89Only supported on Chrome OS and Windows, see bug 770595 and bug 1144920.
93
89–93Only supported on Windows.
96 No
75Only supported on Opera OS and Windows, see bug 770595 and bug 1144920.
14 No 75 96 54 14 11.0
clearAppBadge
81Windows and macOS only.
81Windows and macOS only.
No No No
17Badging is supported for installed web apps on macOS Sonoma and higher.
81 81 No 58 16.4 13.0
clipboard 66 79 63 No 53 13.1 66 66 63 47 13.4 9.0
connection 61 79 31–32 No 48 No 50 38 14–99 37 No 3.0
contacts No No No No No No 80 80 No 57 14.5
14.0–22.0This API was exposed but failed upon opening a contact selector.
cookieEnabled 1 12
1Before 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.
4navigator.cookieEnabled returns true even if the browser is set to block cookies (for example, if the page is in the Restricted sites security zone).
≤12.1 1 4.4 18
4Before 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.
≤12.1 1 1.0
credentials 51 18 60 No 38 13 51 51 60 41 13 5.0
deviceMemory 63 79 No No 50 No 63 63 No 46 No 8.0
doNotTrack 23
17Before version 17, Edge implemented window.doNotTrack.
9["In Firefox, navigator.doNotTrack returns \"unspecified\" instead of null.", "Before Firefox 32, navigator.doNotTrack would report values of \"yes\" and \"no\" rather than \"1\" and \"0\"."]
9–11For IE11 and subsequent versions, use window.doNotTrack
12 5.1–7 4.4 25
9["In Firefox, navigator.doNotTrack returns \"unspecified\" instead of null.", "Before Firefox 32, navigator.doNotTrack would report values of \"yes\" and \"no\" rather than \"1\" and \"0\"."]
12 5–7 1.5
geolocation 5 12 3.5 9 10.6 5 ≤37 18 4 11 ≤3 1.0
getAutoplayPolicy No No 112 No No No No No 112 No No No
getBattery 38 79 43–52 No 25 No 38 38 43–52 25 No 3.0
getGamepads 3521 12 29 No 2215 10.1 37≤37 3525 32 2214 10.3 3.01.5
getInstalledRelatedApps
85Supported on Windows for checking of Universal Windows Platform (UWP) app installation. Resolves with an empty array on other platforms.
80–85Always resolves with an empty array.
85Supported on Windows for checking of Universal Windows Platform (UWP) app installation. Resolves with an empty array on other platforms.
80–85Always resolves with an empty array.
No No
71Supported on Windows for checking of Universal Windows Platform (UWP) app installation. Resolves with an empty array on other platforms.
67–71Always resolves with an empty array.
No No
84Supports checking of Progressive Web App (PWA) installation.
80Supports checking of Android app installation.
No No No
14.0Supports checking of Progressive Web App (PWA) installation.
13.0Supports checking of Android app installation.
getUserMedia 5321 7912 17 No 401512–15 11–12 5340 5325 24 411412–14 11–12 6.01.5
getVRDisplays
NoAvailable 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).
15–79 98
64–98macOS support was enabled in Firefox 64.
55–98Windows support was enabled in Firefox 55.
No No No No
79–80Currently supported only by Google Daydream.
55 No No
12.0–13.0Currently supported only by Google Daydream.
globalPrivacyControl No No
previewOpt-in to GPC by setting the preference privacy.globalprivacycontrol.enabled to true.
No No No No No
NoOpt-in to GPC by setting the preference privacy.globalprivacycontrol.enabled to true.
No No No
gpu
113Currently supported on ChromeOS, macOS, and Windows only.
113Currently supported on ChromeOS, macOS, and Windows only.
previewCurrently supported on Linux and Windows only.
No
99Currently supported on ChromeOS, macOS, and Windows only.
No No No No No No No
hardwareConcurrency 37 15 48 No 24 10.1–11 37 37 48 24 10.3–11 3.0
hid 89 89 No No 75 No No No No No No No
ink 94 93 No No 80 No 94 94 No 66 No 17.0
javaEnabled 1 12 1 6 ≤12.1 1 4.4 18 4 ≤12.1 1 1.0
keyboard 68 79 No No 55 No 68 68 No 48 No 10.0
language 1 12
1Before Firefox 4, this property's value was also part of the user agent string, as reported by navigator.userAgent. Starting in Firefox 5, this property's value is based on the value of the Accept-Language HTTP header.
11Closest available (non-standard) properties are userLanguage and browserLanguage.
4 1 4.4 18 4 10.1 1 1.0
languages
37Before Chrome 65, navigator.languages[0] is not guaranteed to equal navigator.language.
16
32In Firefox, the navigator.languages property's value is taken from the intl.accept_languages preference.
NoClosest available (non-standard) properties are userLanguage and browserLanguage.
24 10.1
37Before version 65, navigator.languages[0] is not guaranteed to equal navigator.language.
37Before Chrome 65, navigator.languages[0] is not guaranteed to equal navigator.language.
32In Firefox, the navigator.languages property's value is taken from the intl.accept_languages preference.
24 10.3 3.0
locks 69 79 96 No 56 15.4 69 69 96 48 15.4 10.0
maxTouchPoints 35 12 59 1110 22 13 37 35 79 22 13 3.0
mediaCapabilities 66 79 63 No 55 13 66 66 63 48 13 9.0
mediaDevices 47 12 36 No 34 11 47 47 36 34 11 5.0
mediaSession 73 79 82 No 60 15 No 57 82 43 15 7.0
mimeTypes 1 12 1 4 ≤12.1 1 4.4 18 4 ≤12.1 1 1.0
onLine
2Earlier versions of Chrome incorrectly return true when a tab is first opened, but it starts reporting the correct connectivity status after the first network event. Windows: 11, macOS: 14, Chrome OS: 13, Linux: Always returns true. For history, see crbug.com/7469.
12
1.5Since Firefox 4 the browser returns true when 'Work Offline' mode is disabled and false when it is enabled, regardless of actual connectivity. Since Firefox 41, on OS X and Windows, the returned values follow the actual network connectivity, unless 'Work offline' mode is selected (where it will always return false).
4in Internet Explorer 8 'online' and 'offline' events are raised on the document.body; under IE 9 they are raised on both document.body and window.
3From Opera 11.1 until Opera 12.1, the browser returns true when 'Work Offline' mode is disabled and false when it is enabled, regardless of actual connectivity.
4
≤37Can incorrectly return true, see bug 811122.
18 4
10.1From Opera 11.1 until Opera 12.1, the browser returns true when 'Work Offline' mode is disabled and false when it is enabled, regardless of actual connectivity.
3.2 1.0
oscpu No No
1The 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.
No No No No No
4The 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.
No No No
pdfViewerEnabled 94 94 99 No 80 16.4 94 94 99 66 16.4 17.0
permissions 43 79 46 No 30 16 No 43 46 30 16 4.0
platform 1 12
1["Before Firefox 69, platform would report running on a 32-bit CPU if running the 32-bit version of Firefox on a 64-bit system.", "You can override the value returned by platform by setting the preference general.platform.override to the string you wish to be returned instead."]
4 ≤12.1 1 4.4 18 4 ≤12.1 1 1.0
plugins 1 12 1 4 ≤12.1 1 4.4 18 4 ≤12.1 1 1.0
presentation 47 79 No No 34 No No 47 No 34 No 5.0
product 1 12 1 11 15 1 4.4 18 4 14 1 1.0
productSub
1Always returns 20030107.
12Always returns 20030107.
1 No
15Always returns 20030107.
1Always returns 20030107.
4.4Always returns 20030107.
18Always returns 20030107.
4
14Always returns 20030107.
1Always returns 20030107.
1.0Always returns 20030107.
registerProtocolHandler
13From Chrome 77, the URL parameter only accepts http or https URLs.
79 2 No 11.6 No No No 4 No No No
requestMIDIAccess 43 79
108API access is gated by installation of a site permission add-on (user prompt), secure context, and Permission Policy: midi.
No 30 No 43 43 No 30 No 4.0
requestMediaKeySystemAccess
42["The spec requires that the passed supportedConfigurations option contain at least one of audioCapabilities or videoCapabilities, and that said parameters include a codec string.", "The function does not exist in insecure contexts. This was not enforced until Chrome 58."]
13
38["Starting in Firefox 55, if neither audioCapabilities nor videoCapabilities is specified in supportedConfigurations, a warning is output to the web console.", "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.", "In the future, if neither audioCapabilities nor videoCapabilities is specified in the supportedConfigurations, a NotSupported exception will be thrown."]
No
29["The spec requires that the passed supportedConfigurations option contain at least one of audioCapabilities or videoCapabilities, and that said parameters include a codec string.", "The function does not exist in insecure contexts. This was not enforced until Opera 45."]
12.1
43["The spec requires that the passed supportedConfigurations option contain at least one of audioCapabilities or videoCapabilities, and that said parameters include a codec string.", "The function does not exist in insecure contexts. This was not enforced until version 58."]
42["The spec requires that the passed supportedConfigurations option contain at least one of audioCapabilities or videoCapabilities, and that said parameters include a codec string.", "The function does not exist in insecure contexts. This was not enforced until Chrome 58."]
38["Starting in Firefox 55, if neither audioCapabilities nor videoCapabilities is specified in supportedConfigurations, a warning is output to the web console.", "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.", "In the future, if neither audioCapabilities nor videoCapabilities is specified in the supportedConfigurations, a NotSupported exception will be thrown."]
29["The spec requires that the passed supportedConfigurations option contain at least one of audioCapabilities or videoCapabilities, and that said parameters include a codec string.", "The function does not exist in insecure contexts. This was not enforced until Opera 45."]
12.2
4.0["The spec requires that the passed supportedConfigurations option contain at least one of audioCapabilities or videoCapabilities, and that said parameters include a codec string.", "The function does not exist in insecure contexts. This was not enforced until Samsung Internet 7.0."]
scheduling 87 87 No No 74 No 87 87 No 62 No 14.0
sendBeacon
39Starting 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.
14 31 No
26Starting 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.
11.1
40Starting 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.
42Starting 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.
31
26Starting 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.
11.3
4.0Starting 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.
serial 89 89 No No 75 No No No No No No No
serviceWorker 40 17
44In Firefox private windows, the serviceWorker object is undefined. See bug 1320796.
No 27 11.1 40 40
44In Firefox private windows, the serviceWorker object is undefined. See bug 1320796.
27 11.3 4.0
setAppBadge
81Windows and macOS only.
81Windows and macOS only.
No No No
17Badging is supported for web apps saved to the Dock in Safari 17 on the macOS Sonoma beta
No No No No 16.4 No
share
89Only supported on Chrome OS and Windows, see bug 770595 and bug 1144920.
93
89–93Only supported on Windows.
71 No
75Only supported on Opera OS and Windows, see bug 770595 and bug 1144920.
12.1 No 61 79 48 12.2 8.0
storage 55 79 57 No 42 15.2 55 55 57 42 15.2 6.0
taintEnabled No No 1 6 ≤12.1–15 No No No 4 ≤12.1–14 No No
unregisterProtocolHandler 38 79 No No 25≤12.1–15 No No No No No No No
usb 61 79 No No 48 No
NoWebView exposes navigator.usb, but does not support WebUSB. See Chromium bug 933055.
61 No 45 No 8.0
userActivation 72 79 No No 60 16.4 72 72 No 51 16.4 11.0
userAgent 1 12 1 4 ≤12.1 1 4.4 18 4 ≤12.1 1 1.0
userAgentData 90 90 No No 76 No No 90 No 64 No 15.0
vendor 1 12 1 11 15 1 4.4 18 4 14 1 1.0
vendorSub 1 12 1 No 15 3 4.4 18 4 14 1 1.0
vibrate 32 79
16["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).", "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).", "Beginning in Firefox 72, this is not supported in cross-origin iframes."]
11–16
No 19 No
4.4.3["Beginning in version 55, this is not supported in cross-origin iframes.", "Beginning in version 60, this method requires a user gesture. Otherwise it returns false."]
32["Beginning in Chrome 55, this is not supported in cross-origin iframes.", "Beginning in Chrome 60, this method requires a user gesture. Otherwise it returns false."]
79Vibration is disabled. If the window is visible, then navigator.vibrate() returns true, but no vibration takes place (regardless of hardware support). Originally, the intent was to disable it for cross-origin frames only (bug 1591113), but the feature was not re-enabled due to abuse concerns (bug 1653318).
16–79["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).", "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)."]
14–16
19["Beginning in Opera 42, this is not supported in cross-origin iframes.", "Beginning in Opera 47, this method requires a user gesture. Otherwise it returns false."]
No
2.0["Beginning in Samsung Internet 6.0, this is not supported in cross-origin iframes.", "Beginning in Samsung Internet 8.0, this method requires a user gesture. Otherwise it returns false."]
virtualKeyboard 94 94 No No 80 No 94 94 No 66 No 17.0
wakeLock 84 84 No No 70 16.4 84 84 No 60 16.4 14.0
webdriver 63 12 60 11 50 10.1 63 63 60 46 10.3 8.0
windowControlsOverlay 105 105 No No 91 No No No No No No No
xr 79 79 No No 66 No No 79 No 57 No 11.2

© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/Navigator