Window

You’re reading the English version of this content since no translation exists yet for this locale. Help us translate this article!

The Window interface represents a window containing a DOM document; the document property points to the DOM document loaded in that window. A window for a given document can be obtained using the document.defaultView property.

A global variable, window, representing the window in which the script is running, is exposed to JavaScript code.

The Window interface is home to a variety of functions, namespaces, objects, and constructors which are not necessarily directly associated with the concept of a user interface window. However, the Window interface is a suitable place to include these items that need to be globally available. Many of these are documented in the JavaScript Reference and the DOM Reference.

In a tabbed browser, each tab is represented by its own Window object; the global window seen by JavaScript code running within a given tab always represents the tab in which the code is running. That said, even in a tabbed browser, some properties and methods still apply to the overall window that contains the tab, such as resizeTo() and innerHeight. Generally, anything that can't reasonably pertain to a tab pertains to the window instead.

Constructors

See also the DOM Interfaces.

DOMParser
DOMParser can parse XML or HTML source stored in a string into a DOM Document. DOMParser is specified in DOM Parsing and Serialization.
Window.GeckoActiveXObject
FIXME: NeedsContents
Image
Used for creating an HTMLImageElement.
Option
Used for creating an HTMLOptionElement
Window.QueryInterface
FIXME: NeedsContents
Window.StaticRange   Read only
Returns a StaticRange() constructor which creates a StaticRange object.
Worker
Used for creating a Web worker
Window.XMLSerializer
FIXME: NeedsContents
Window.XPCNativeWrapper
FIXME: NeedsContents
Window.XPCSafeJSObjectWrapper
FIXME: NeedsContents

Properties

This interface inherits properties from the EventTarget interface and implements properties from the WindowOrWorkerGlobalScope and WindowEventHandlers mixins.

Note that properties which are objects (e.g.,. for overriding the prototype of built-in elements) are listed in a separate section below.

Window.closed Read only
This property indicates whether the current window is closed or not.
Window.console Read only
Returns a reference to the console object which provides access to the browser's debugging console.
Window.content and Window._content Read only
Returns a reference to the content element in the current window. Since Firefox 57 (initially Nightly-only), both versions are only available from chrome (privileged) code, and not available to the web anymore.
Window.controllers Read only
Returns the XUL controller objects for the current chrome window.
Window.customElements Read only
returns a reference to the CustomElementRegistry object, which can be used to register new custom elements and get information about previously registered custom elements.
Window.crypto Read only
Returns the browser crypto object.
Window.defaultStatus Obsolete since Gecko 23
Gets/sets the status bar text for the given window.
Window.devicePixelRatio Read only
Returns the ratio between physical pixels and device independent pixels in the current display.
Window.dialogArguments Read only
Gets the arguments passed to the window (if it's a dialog box) at the time window.showModalDialog() was called. This is an nsIArray.
Window.directories
Synonym of window.personalbar
Window.document Read only
Returns a reference to the document that the window contains.
Window.DOMMatrix Read only
Returns a reference to a DOMMatrix object, which represents 4x4 matrices, suitable for 2D and 3D operations.
Window.DOMMatrixReadOnly Read only
Returns a reference to a DOMMatrixReadOnly object, which represents 4x4 matrices, suitable for 2D and 3D operations.
Window.DOMPoint Read only
Returns a reference to a DOMPoint object, which represents a 2D or 3D point in a coordinate system.
Window.DOMPointReadOnly Read only
Returns a reference to a DOMPointReadOnly object, which represents a 2D or 3D point in a coordinate system.
Window.DOMQuad Read only
Returns a reference to a DOMQuad object, which provides represents a quadrilaterial object, that is one having four corners and four sides.
Window.DOMRect Read only
Returns a reference to a DOMRect object, which represents a rectangle.
Window.DOMRectReadOnly Read only
Returns a reference to a DOMRectReadOnly object, which represents a rectangle.
Window.event Read only
Returns the current event, which is the event currently being handled by the JavaScript code's context, or undefined if no event is currently being handled. The Event object passed directly to event handlers should be used instead whenever possible.
Window.frameElement Read only
Returns the element in which the window is embedded, or null if the window is not embedded.
Window.frames Read only
Returns an array of the subframes in the current window.
Window.fullScreen
This property indicates whether the window is displayed in full screen or not.
Window.globalStorage Obsolete since Gecko 13
Unsupported since Gecko 13 (Firefox 13). Use Window.localStorage instead.
Was: Multiple storage objects that are used for storing data across multiple pages.
Window.history Read only
Returns a reference to the history object.
Window.innerHeight Read only
Gets the height of the content area of the browser window including, if rendered, the horizontal scrollbar.
Window.innerWidth Read only
Gets the width of the content area of the browser window including, if rendered, the vertical scrollbar.
Window.isSecureContext Read only
Indicates whether a context is capable of using features that require secure contexts.
Window.length Read only
Returns the number of frames in the window. See also window.frames.
Window.location
Gets/sets the location, or current URL, of the window object.
Window.locationbar Read only
Returns the locationbar object, whose visibility can be toggled in the window.
Window.localStorage Read only
Returns a reference to the local storage object used to store data that may only be accessed by the origin that created it.
Window.menubar Read only
Returns the menubar object, whose visibility can be toggled in the window.
Window.messageManager
Returns the message manager object for this window.
Window.mozAnimationStartTime Read only
The time in milliseconds since epoch at which the current animation cycle began. Use Animation.startTime instead.
Window.mozInnerScreenX Read only
Returns the horizontal (X) coordinate of the top-left corner of the window's viewport, in screen coordinates. This value is reported in CSS pixels. See mozScreenPixelsPerCSSPixel in nsIDOMWindowUtils for a conversion factor to adapt to screen pixels if needed.
Window.mozInnerScreenY Read only
Returns the vertical (Y) coordinate of the top-left corner of the window's viewport, in screen coordinates. This value is reported in CSS pixels. See mozScreenPixelsPerCSSPixel for a conversion factor to adapt to screen pixels if needed.
Window.mozPaintCount Read only
Returns the number of times the current document has been rendered to the screen in this window. This can be used to compute rendering performance.
Window.name
Gets/sets the name of the window.
Window.navigator Read only
Returns a reference to the navigator object.
Window.opener
Returns a reference to the window that opened this current window.
Window.orientation Read only
Returns the orientation in degrees (in 90 degree increments) of the viewport relative to the device's natural orientation.
Window.outerHeight Read only
Gets the height of the outside of the browser window.
Window.outerWidth Read only
Gets the width of the outside of the browser window.
Window.pageXOffset Read only
An alias for window.scrollX.
Window.pageYOffset Read only
An alias for window.scrollY
Window.parent Read only
Returns a reference to the parent of the current window or subframe.
Window.performance Read only
Returns a Performance object, which includes the timing and navigation attributes, each of which is an object providing performance-related data. See also Using Navigation Timing for additional information and examples.
Window.personalbar Read only
Returns the personalbar object, whose visibility can be toggled in the window.
Window.pkcs11 Obsolete since Gecko 29
Formerly provided access to install and remove PKCS11 modules.
Window.returnValue
The return value to be returned to the function that called window.showModalDialog() to display the window as a modal dialog.
Window.screen Read only
Returns a reference to the screen object associated with the window.
Window.screenX and Window.screenLeft Read only
Both properties return the horizontal distance from the left border of the user's browser viewport to the left side of the screen.
Window.screenY and Window.screenTop Read only
Both properties return the vertical distance from the top border of the user's browser viewport to the top side of the screen.
Window.scrollbars Read only
Returns the scrollbars object, whose visibility can be toggled in the window.
Window.scrollMaxX Read only
The maximum offset that the window can be scrolled to horizontally, that is the document width minus the viewport width.
Window.scrollMaxY Read only
The maximum offset that the window can be scrolled to vertically (i.e., the document height minus the viewport height).
Window.scrollX Read only
Returns the number of pixels that the document has already been scrolled horizontally.
Window.scrollY Read only
Returns the number of pixels that the document has already been scrolled vertically.
Window.self Read only
Returns an object reference to the window object itself.
Window.sessionStorage
Returns a reference to the session storage object used to store data that may only be accessed by the origin that created it.
Window.sidebar Read only
Returns a reference to the window object of the sidebar.
Window.speechSynthesis Read only
Returns a SpeechSynthesis object, which is the entry point into using Web Speech API speech synthesis functionality.
Window.status
Gets/sets the text in the statusbar at the bottom of the browser.
Window.statusbar Read only
Returns the statusbar object, whose visibility can be toggled in the window.
Window.toolbar Read only
Returns the toolbar object, whose visibility can be toggled in the window.
Window.top Read only
Returns a reference to the topmost window in the window hierarchy. This property is read only.
Window.visualViewport Read only
Returns a VisualViewport object which represents the visual viewport for a given window.
Window.window Read only
Returns a reference to the current window.
window[0], window[1], etc.
Returns a reference to the window object in the frames. See Window.frames for more details.

Properties implemented from elsewhere

WindowOrWorkerGlobalScope.caches Read only
Returns the CacheStorage object associated with the current context. This object enables functionality such as storing assets for offline use, and generating custom responses to requests.
WindowOrWorkerGlobalScope.indexedDB Read only
Provides a mechanism for applications to asynchronously access capabilities of indexed databases; returns an IDBFactory object.
WindowOrWorkerGlobalScope.isSecureContext Read only
Returns a boolean indicating whether the current context is secure (true) or not (false).
WindowOrWorkerGlobalScope.origin Read only
Returns the global object's origin, serialized as a string. (This does not yet appear to be implemented in any browser.)

Methods

This interface inherits methods from the EventTarget interface and implements methods from WindowOrWorkerGlobalScope and EventTarget.

Window.alert()
Displays an alert dialog.
Window.back()
Moves back one in the window history. This method is obsolete; you should instead use window.history.back().
Window.blur()
Sets focus away from the window.
Window.cancelAnimationFrame() 
Enables you to cancel a callback previously scheduled with Window.requestAnimationFrame.
Window.cancelIdleCallback() 
Enables you to cancel a callback previously scheduled with Window.requestIdleCallback.
Window.captureEvents()
Registers the window to capture all events of the specified type.
Window.clearImmediate()
Cancels the repeated execution set using setImmediate.
Window.close()
Closes the current window.
Window.confirm()
Displays a dialog with a message that the user needs to respond to.
Window.disableExternalCapture() Obsolete since Gecko 24
FIXME: NeedsContents
Window.dispatchEvent()
Used to trigger an event.
Window.dump()
Writes a message to the console.
Window.enableExternalCapture() Obsolete since Gecko 24
FIXME: NeedsContents
Window.find()
Searches for a given string in a window.
Window.focus()
Sets focus on the current window.
Window.forward()
Moves the window one document forward in the history. This method is obsolete; you should instead use window.history.forward().
Window.getAttention()
Flashes the application icon.
Window.getAttentionWithCycleCount()
FIXME: NeedsContents
Window.getComputedStyle()
Gets computed style for the specified element. Computed style indicates the computed values of all CSS properties of the element.
Window.getDefaultComputedStyle() 
Gets default computed style for the specified element, ignoring author stylesheets.
Window.getSelection()
Returns the selection object representing the selected item(s).
Window.home()
Returns the browser to the home page.
Window.matchMedia()
Returns a MediaQueryList object representing the specified media query string.
Window.maximize()
FIXME: NeedsContents
Window.minimize() (top-level XUL windows only)
Minimizes the window.
Window.moveBy()
Moves the current window by a specified amount.
Window.moveTo()
Moves the window to the specified coordinates.
Window.open()
Opens a new window.
Window.openDialog()
Opens a new dialog window.
Window.postMessage()
Provides a secure means for one window to send a string of data to another window, which need not be within the same domain as the first.
Window.print()
Opens the Print Dialog to print the current document.
Window.prompt()
Returns the text entered by the user in a prompt dialog.
Window.releaseEvents()
Releases the window from trapping events of a specific type.
Window.requestAnimationFrame()
Tells the browser that an animation is in progress, requesting that the browser schedule a repaint of the window for the next animation frame.
Window.requestIdleCallback()  
Enables the scheduling of tasks during a browser's idle periods.
Window.resizeBy()
Resizes the current window by a certain amount.
Window.resizeTo()
Dynamically resizes window.
Window.restore()
FIXME: NeedsContents
Window.routeEvent() Obsolete since Gecko 24
FIXME: NeedsContents
Window.scroll()
Scrolls the window to a particular place in the document.
Window.scrollBy()
Scrolls the document in the window by the given amount.
Window.scrollByLines()
Scrolls the document by the given number of lines.
Window.scrollByPages()
Scrolls the current document by the specified number of pages.
Window.scrollTo()
Scrolls to a particular set of coordinates in the document.
Window.setCursor() (top-level XUL windows only)
Changes the cursor for the current window
Window.setImmediate()
Executes a function after the browser has finished other heavy tasks
Window.setResizable()
Toggles a user's ability to resize a window.
Window.sizeToContent()
Sizes the window according to its content.
Window.stop()
This method stops window loading.
Window.updateCommands()
Updates the state of commands of the current chrome window (UI).

Methods implemented from elsewhere

EventTarget.addEventListener()
Register an event handler to a specific event type on the window.
WindowOrWorkerGlobalScope.atob()
Decodes a string of data which has been encoded using base-64 encoding.
WindowOrWorkerGlobalScope.btoa()
Creates a base-64 encoded ASCII string from a string of binary data.
WindowOrWorkerGlobalScope.clearInterval()
Cancels the repeated execution set using WindowOrWorkerGlobalScope.setInterval().
WindowOrWorkerGlobalScope.clearTimeout()
Cancels the delayed execution set using WindowOrWorkerGlobalScope.setTimeout().
WindowOrWorkerGlobalScope.createImageBitmap()
Accepts a variety of different image sources, and returns a Promise which resolves to an ImageBitmap. Optionally the source is cropped to the rectangle of pixels originating at (sx, sy) with width sw, and height sh.
WindowOrWorkerGlobalScope.fetch()
Starts the process of fetching a resource from the network.
EventTarget.removeEventListener
Removes an event listener from the window.
WindowOrWorkerGlobalScope.setInterval()
Schedules a function to execute every time a given number of milliseconds elapses.
WindowOrWorkerGlobalScope.setTimeout()
Schedules a function to execute in a given amount of time.

Obsolete methods

Window.showModalDialog()
Displays a modal dialog. This method was removed completely in Chrome 43, and Firefox 55.

Event handlers

These are properties of the window object that can be set to establish event handlers for the various things that can happen in the window that might be of interest.

This interface inherits event handlers from the EventTarget interface and implements event handlers from WindowEventHandlers.

Note: Starting in Gecko 9.0, you can now use the syntax if ("onabort" in window) to determine whether or not a given event handler property exists. This is because event handler interfaces have been updated to be proper web IDL interfaces. See DOM event handlers for details.

Window.onappinstalled
Called when the page is installed as a webapp. See appinstalled event.
Window.onbeforeinstallprompt
An event handler property dispatched before a user is prompted to save a web site to a home screen on mobile.
Window.ondevicelight
An event handler property for any ambient light levels changes
Window.ondevicemotion
Called if accelerometer detects a change (For mobile devices)
Window.ondeviceorientation
Called when the orientation is changed (For mobile devices)
Window.ondeviceorientationabsolute  Chrome only
An event handler property for any device orientation changes.
Window.ondeviceproximity
An event handler property for device proximity event
Window.ongamepadconnected
Represents an event handler that will run when a gamepad is connected (when the gamepadconnected event fires).
Window.ongamepaddisconnected
Represents an event handler that will run when a gamepad is disconnected (when the gamepaddisconnected event fires).
Window.onmozbeforepaint
An event handler property for the MozBeforePaint event, which is sent before repainting the window if the event has been requested by a call to the Window.mozRequestAnimationFrame() method.
Window.onpaint
An event handler property for paint events on the window.
Window.onrejectionhandled
An event handler for handled Promise rejection events.
Window.onuserproximity
An event handler property for user proximity events.
Window.onvrdisplayconnect
Represents an event handler that will run when a compatible VR device has been connected to the computer (when the vrdisplayconnected event fires).
Window.onvrdisplaydisconnect
Represents an event handler that will run when a compatible VR device has been disconnected from the computer (when the vrdisplaydisconnected event fires).
Window.onvrdisplayactivate
Represents an event handler that will run when a display is able to be presented to (when the vrdisplayactivate event fires), for example if an HMD has been moved to bring it out of standby, or woken up by being put on.
Window.onvrdisplaydeactivate
Represents an event handler that will run when a display can no longer be presented to (when the vrdisplaydeactivate event fires), for example if an HMD has gone into standby or sleep mode due to a period of inactivity.
Window.onvrdisplayblur
Represents an event handler that will run when presentation to a display has been paused for some reason by the browser, OS, or VR hardware (when the vrdisplayblur event fires) — for example, while the user is interacting with a system menu or browser, to prevent tracking or loss of experience.
Window.onvrdisplayfocus
Represents an event handler that will run when presentation to a display has resumed after being blurred (when the vrdisplayfocus event fires).
Window.onvrdisplaypresentchange
represents an event handler that will run when the presenting state of a VR device changes — i.e. goes from presenting to not presenting, or vice versa (when the vrdisplaypresentchange event fires).

Event handlers implemented from elsewhere

GlobalEventHandlers.onabort
Called when the loading of a resource has been aborted, such as by a user canceling the load while it is still in progress
WindowEventHandlers.onafterprint
Called when the print dialog box is closed. See afterprint event.
WindowEventHandlers.onbeforeprint
Called when the print dialog box is opened. See beforeprint event.
WindowEventHandlers.onbeforeunload
An event handler property for before-unload events on the window.
GlobalEventHandlers.onblur
Called after the window loses focus, such as due to a popup.
GlobalEventHandlers.onchange
An event handler property for change events on the window.
GlobalEventHandlers.onclick
Called after the ANY mouse button is pressed & released
GlobalEventHandlers.ondblclick
Called when a double click is made with ANY mouse button.
GlobalEventHandlers.onclose
Called after the window is closed
GlobalEventHandlers.oncontextmenu
Called when the RIGHT mouse button is pressed
GlobalEventHandlers.onerror
Called when a resource fails to load OR when an error occurs at runtime. See error event.
GlobalEventHandlers.onfocus
Called after the window receives or regains focus. See focus events.
WindowEventHandlers.onhashchange
An event handler property for hashchange events on the window; called when the part of the URL after the hash mark ("#") changes.
GlobalEventHandlers.oninput
Called when the value of an <input> element changes
GlobalEventHandlers.onkeydown
Called when you begin pressing ANY key. See keydown event.
GlobalEventHandlers.onkeypress
Called when a key (except Shift, Fn, and CapsLock) is in pressed position. See keypress event.
GlobalEventHandlers.onkeyup
Called when you finish releasing ANY key. See keyup event.
WindowEventHandlers.onlanguagechange
An event handler property for languagechange events on the window.
GlobalEventHandlers.onload
Called after all resources and the DOM are fully loaded. WILL NOT get called when the page is loaded from cache, such as with back button.
WindowEventHandlers.onmessage
Is an EventHandler representing the code to be called when the message event is raised.
GlobalEventHandlers.onmousedown
Called when ANY mouse button is pressed.
GlobalEventHandlers.onmousemove
Called continously when the mouse is moved inside the window.
GlobalEventHandlers.onmouseout
Called when the pointer leaves the window.
GlobalEventHandlers.onmouseover
Called when the pointer enters the window
GlobalEventHandlers.onmouseup
Called when ANY mouse button is released
WindowEventHandlers.onoffline
Called when network connection is lost. See offline event.
WindowEventHandlers.ononline
Called when network connection is established. See online event.
WindowEventHandlers.onpagehide
Called when the user navigates away from the page, before the onunload event. See pagehide event.
WindowEventHandlers.onpageshow
Called after all resources and the DOM are fully loaded. See pageshow event.
WindowEventHandlers.onpopstate
Called when a back button is pressed.
GlobalEventHandlers.onreset
Called when a form is reset
GlobalEventHandlers.onresize
Called continuously as you are resizing the window.
GlobalEventHandlers.onscroll
Called when the scroll bar is moved via ANY means. If the resource fully fits in the window, then this event cannot be invoked
GlobalEventHandlers.onwheel
Called when the mouse wheel is rotated around any axis
GlobalEventHandlers.onselect
Called after text in an input field is selected
GlobalEventHandlers.onselectionchange
Is an EventHandler representing the code to be called when the selectionchange event is raised.
WindowEventHandlers.onstorage
Called when there is a change in session storage or local storage. See storage event
GlobalEventHandlers.onsubmit
Called when a form is submitted
WindowEventHandlers.onunhandledrejection
An event handler for unhandled Promise rejection events.
WindowEventHandlers.onunload
Called when the user navigates away from the page.

Events

Listen to these events using addEventListener() or by assigning an event listener to the oneventname property of this interface.

error
Fired when when a resource failed to load, or can't be used. For example, if a script has an execution error or an image can't be found or is invalid.
Also available via the onerror property.
languagechange
Fired at the global scope object when the user's preferred language changes.
Also available via the onlanguagechange property.
orientationchange
Fired when the orientation of the device has changed.
Also available via the onorientationchange property.
devicemotion
Fired at a regular interval, indicating the amount of physical force of acceleration the device is receiving and the rate of rotation, if available.
deviceorientation
Fired when fresh data is available from the magnetometer orientation sensor about the current orientation of the device as compared to the Earth coordinate frame.
resize
Fired when the window has been resized.
Also available via the onresize property.
storage
Fired when a storage area (localStorage or sessionStorage) has been modified in the context of another document.
Also available via the onstorage property.

Animation events

animationcancel
Fired when an animation unexpectedly aborts.
Also available via the onanimationcancel property.
animationend
Fired when an animation has completed normally.
Also available via the onanimationend property.
animationiteration
Fired when an animation iteration has completed.
Also available via the onanimationiteration property.
animationstart
Fired when an animation starts.
Also available via the onanimationstart property.

Clipboard events

clipboardchange
Fired when the system clipboard content changes.
copy
Fired when the user initiates a copy action through the browser's user interface.
Also available via the oncopy property.
cut
Fired when the user initiates a cut action through the browser's user interface.
Also available via the oncut property.
paste
Fired when the user initiates a paste action through the browser's user interface.
Also available via the onpaste property.

Connection events

offline
Fired when the browser has lost access to the network and the value of navigator.onLine has switched to false.
Also available via the onoffline property.
online
Fired when the browser has gained access to the network and the value of navigator.onLine has switched to true.
Also available via the ononline property.

Focus events

blur
Fired when an element has lost focus.
Also available via the onblur property.
focus
Fired when an element has gained focus.
Also available via the onfocus property

Gamepad events

gamepadconnected
Fired when the browser detects that a gamepad has been connected or the first time a button/axis of the gamepad is used.
Also available via the ongamepadconnected property.
gamepaddisconnected
Fired when the browser detects that a gamepad has been disconnected.
Also available via the ongamepaddisconnected property

History events

hashchange
Fired when the fragment identifier of the URL has changed (the part of the URL beginning with and following the # symbol).
Also available via the onhashchange property.
pagehide
Sent when the browser  hides the current document while in the process of switching to displaying in its palce a different document from the session's history. This happens, for example, when the user clicks the Back button or when they click the Forward button to move ahead in session history.
Also available through the onpagehide event handler property.
pageshow
Sent when the browser makes the document visible due to navigation tasks, including not only when the page is first loaded, but also situations such as the user navigating back to the page after having navigated to another within the same tab.
Also available using the onpageshow event handler property.
popstate
Fired when the active history entry changes.
Also available using the onpopstate event handler property.

Load & unload events

beforeunload
Fired when the window, the document and its resources are about to be unloaded.
Also available via the onbeforeunload property.
DOMContentLoaded
Fired when the document has been completely loaded and parsed, without waiting for stylesheets, images, and subframes to finish loading.
load
Fired when the whole page has loaded, including all dependent resources such as stylesheets images.
Also available via the onload property.
unload
Fired when the document or a child resource is being unloaded.
Also available via the onunload property.

Manifest events

appinstalled
Fired when the browser has successfully installed a page as an application.
Also available via the onappinstalled property.
beforeinstallprompt
Fired when a user is about to be prompted to install a web application.
Also available via the onbeforeinstallprompt property.

Messaging events

message
Fired when the window receives a message, for example from a call to Window.postMessage() from another browsing context.
Also available via the onmessage property.
messageerror
Fired when a Window object receives a message that can't be deserialized.
Also available via the onmessageerror property.
afterprint
Fired after the associated document has started printing or the print preview has been closed.
Also available via the onafterprint property.
beforeprint
Fired when the associated document is about to be printed or previewed for printing.
Also available via the onbeforeprint property.

Promise rejection events

rejectionhandled
Sent every time a JavaScript Promise is rejected, regardless of whether or not there is a handler in place to catch the rejection.
Also available through the onrejectionhandled event handler property.
unhandledrejection
Sent when a JavaScript Promise is rejected but there is no handler in place to catch the rejection.
Also available using the onunhandledrejection event handler property.

Transition events

transitioncancel
Fired when a CSS transition is canceled.
Also available via the ontransitioncancel property.
transitionend
Fired when a CSS transition has completed.
Also available via the ontransitionend property.
transitionrun
Fired when a CSS transition is first created.
Also available via the ontransitionrun property.
transitionstart
Fired when a CSS transition has actually started.
Also available via the ontransitionstart property.

WebVR events

vrdisplayactivate
Fired when a VR display becomes available to be presented to, for example if an HMD has been moved to bring it out of standby, or woken up by being put on.
Also available via the onvrdisplayactivate property.
vrdisplayblur
Fired when presentation to a VR display has been paused for some reason by the browser, OS, or VR hardware.
Also available via the onvrdisplayblur property.
vrdisplayconnect
Fired when a compatible VR display is connected to the computer.
Also available via the onvrdisplayconnect property.
vrdisplaydeactivate
Fired when a VR display can no longer be presented to, for example if an HMD has gone into standby or sleep mode due to a period of inactivity.
Also available via the onvrdisplaydeactivate property.
vrdisplaydisconnect
Fired when a compatible VR display is disconnected from the computer.
Also available via the onvrdisplaydisconnect property.
vrdisplayfocus
Fired when presentation to a VR display has resumed after being blurred.
Also available via the onvrdisplayfocus property.
vrdisplaypresentchange
fired when the presenting state of a VR display changes — i.e. goes from presenting to not presenting, or vice versa.
Also available via the onvrdisplaypresentchange property.
vrdisplaypointerrestricted
Fired when the VR display's pointer input is restricted to consumption via a pointerlocked element.
Also available via the onvrdisplaypointerrestricted property.
vrdisplaypointerunrestricted
Fired when the VR display's pointer input is no longer restricted to consumption via a pointerlocked element.
Also available via the onvrdisplaypointerunrestricted property.

Interfaces

See DOM Reference

Browser compatibility

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
WindowChrome Full support 1Edge Full support 12Firefox Full support 1IE Full support YesOpera Full support YesSafari Full support YesWebView Android Full support YesChrome Android Full support 18Firefox Android Full support 4Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
DOMContentLoaded eventChrome Full support 1Edge Full support YesFirefox Full support 1IE Full support 9Opera Full support 9Safari Full support 3.1WebView Android Full support YesChrome Android Full support YesFirefox Android Full support 4Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
OverconstrainedError
Experimental
Chrome Full support 63Edge ? Firefox ? IE ? Opera Full support YesSafari ? WebView Android Full support 63Chrome Android Full support 63Firefox Android ? Opera Android Full support YesSafari iOS ? Samsung Internet Android ?
afterprint eventChrome Full support 63Edge Full support YesFirefox Full support 6IE Full support YesOpera Full support 50Safari No support NoWebView Android Full support 63Chrome Android Full support 63Firefox Android ? Opera Android Full support 46Safari iOS ? Samsung Internet Android ?
alertChrome Full support Yes
Notes
Full support Yes
Notes
Notes Starting with Chrome 46, this method is blocked inside an <iframe> unless its sandbox attribute has the value allow-modals.
Edge Full support 12Firefox Full support YesIE Full support YesOpera Full support Yes
Notes
Full support Yes
Notes
Notes Starting with Opera 53, this method is blocked inside an <iframe> unless its sandbox attribute has the value allow-modals.
Safari Full support YesWebView Android Full support Yes
Notes
Full support Yes
Notes
Notes Starting with Chrome 46, this method is blocked inside an <iframe> unless its sandbox attribute has the value allow-modals.
Chrome Android Full support Yes
Notes
Full support Yes
Notes
Notes Starting with Chrome 46, this method is blocked inside an <iframe> unless its sandbox attribute has the value allow-modals.
Firefox Android Full support YesOpera Android Full support Yes
Notes
Full support Yes
Notes
Notes Starting with Opera 53, this method is blocked inside an <iframe> unless its sandbox attribute has the value allow-modals.
Safari iOS Full support YesSamsung Internet Android Full support Yes
animationcancel eventChrome No support NoEdge ? Firefox Full support 54IE ? Opera No support NoSafari ? WebView Android No support NoChrome Android No support NoFirefox Android Full support 54Opera Android No support NoSafari iOS ? Samsung Internet Android ?
animationend eventChrome Full support 43
Full support 43
Full support 1
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Edge ? Firefox Full support YesIE ? Opera ? Safari ? WebView Android Full support 43
Full support 43
Full support Yes
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Chrome Android Full support 43
Full support 43
Full support 18
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Firefox Android Full support YesOpera Android ? Safari iOS ? Samsung Internet Android ?
animationiteration eventChrome Full support 43
Full support 43
Full support 1
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Edge ? Firefox Full support 51IE ? Opera ? Safari ? WebView Android Full support 43
Full support 43
Full support Yes
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Chrome Android Full support 43
Full support 43
Full support 18
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Firefox Android Full support 51Opera Android ? Safari iOS ? Samsung Internet Android ?
animationstart eventChrome Full support 43
Full support 43
Full support 1
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Edge ? Firefox Full support 51IE ? Opera ? Safari ? WebView Android Full support 43
Full support 43
Full support Yes
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Chrome Android Full support 43
Full support 43
Full support 18
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Firefox Android Full support 51Opera Android ? Safari iOS ? Samsung Internet Android ?
beforeprint eventChrome Full support 63Edge Full support YesFirefox Full support 6IE Full support YesOpera Full support 50Safari No support NoWebView Android Full support 63Chrome Android Full support 63Firefox Android ? Opera Android Full support 46Safari iOS ? Samsung Internet Android ?
beforeunload eventChrome Full support 1Edge Full support YesFirefox Full support 1IE Full support 4Opera Full support 12Safari Full support 3WebView Android Full support YesChrome Android Full support YesFirefox Android Full support 4Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android ?
blurChrome 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 18Firefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
blur eventChrome Full support 5Edge Full support YesFirefox Full support Yes
Full support Yes
No support ? — 24
Notes
Notes The interface for this event is Event, not FocusEvent.
IE Full support YesOpera Full support 12.1Safari Full support 5.1WebView Android Full support YesChrome Android Full support 18Firefox Android Full support YesOpera Android Full support 12.1Safari iOS Full support 5.1Samsung Internet Android Full support Yes
cancelAnimationFrameChrome Full support YesEdge Full support 12Firefox Full support 23
Full support 23
No support 11 — 23
Prefixed
Prefixed Implemented with the vendor prefix: moz
IE Full support 10Opera Full support 15Safari Full support 6.1
Full support 6.1
No support 6 — 6.1
Prefixed
Prefixed Implemented with the vendor prefix: webkit
WebView Android Full support YesChrome Android Full support YesFirefox Android Full support 23
Full support 23
No support 14 — 23
Prefixed
Prefixed Implemented with the vendor prefix: moz
Opera Android Full support 14Safari iOS Full support 7Samsung Internet Android Full support Yes
cancelIdleCallback
Experimental
Chrome Full support 47Edge No support NoFirefox Full support 55
Full support 55
Full support 53
Disabled
Disabled From version 53: this feature is behind the dom.requestIdleCallback.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 47Chrome Android Full support 47Firefox Android Full support 55
Full support 55
Full support 53
Disabled
Disabled From version 53: this feature is behind the dom.requestIdleCallback.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 Yes
clearImmediate
Non-standard
Chrome No support NoEdge Full support 12Firefox No support NoIE Full support YesOpera No support NoSafari 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 ?
clipboardchange event
Experimental
Chrome No support NoEdge No support NoFirefox No support NoIE No support NoOpera No support NoSafari 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
closeChrome Full support 1Edge Full support 12Firefox Full support Yes
Notes
Full support Yes
Notes
Notes Starting in Firefox 46.0.1, Window.close() can no longer close windows that weren't opened by the same script. This is a security precaution.
IE Full support YesOpera Full support YesSafari Full support YesWebView Android Full support YesChrome Android Full support 18Firefox Android Full support Yes
Notes
Full support Yes
Notes
Notes Starting in Firefox 46.0.1, Window.close() can no longer close windows that weren't opened by the same script. This is a security precaution.
Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
confirmChrome Full support Yes
Notes
Full support Yes
Notes
Notes Starting with Chrome 46, this method is blocked inside an <iframe> unless its sandbox attribute has the value allow-modals.
Edge Full support 12Firefox Full support YesIE Full support YesOpera Full support Yes
Notes
Full support Yes
Notes
Notes In Opera, this method is blocked inside an <iframe> unless its sandbox attribute has the value allow-modals.
Safari Full support YesWebView Android Full support Yes
Notes
Full support Yes
Notes
Notes Starting with Chrome 46, this method is blocked inside an <iframe> unless its sandbox attribute has the value allow-modals.
Chrome Android Full support Yes
Notes
Full support Yes
Notes
Notes Starting with Chrome 46, this method is blocked inside an <iframe> unless its sandbox attribute has the value allow-modals.
Firefox Android Full support YesOpera Android Full support Yes
Notes
Full support Yes
Notes
Notes In Opera, this method is blocked inside an <iframe> unless its sandbox attribute has the value allow-modals.
Safari iOS Full support YesSamsung Internet Android Full support Yes
convertPointFromNodeToPage
Non-standard
Chrome Full support YesEdge Full support YesFirefox Full support 6IE ? Opera ? Safari Full support Yes
Alternate Name
Full support Yes
Alternate Name
Alternate Name Uses the non-standard name: webkitConvertPointFromNodeToPage
WebView Android Full support YesChrome Android Full support YesFirefox Android Full support 6Opera Android No support NoSafari iOS Full support YesSamsung Internet Android ?
convertPointFromPageToNode
Non-standard
Chrome Full support 50
Notes
Full support 50
Notes
Notes For absolute values, use ondeviceorientationabsolute.
No support 7 — 50
Notes
Notes Provided absolute values, not relative.
Edge Full support YesFirefox Full support 6
Full support 6
No support 3.6 — 6
Alternate Name
Alternate Name Uses the non-standard name: onmozorientation
IE ? Opera ? Safari Full support Yes
Alternate Name
Full support Yes
Alternate Name
Alternate Name Uses the non-standard name: webkitConvertPointFromPageToNode
WebView Android Full support 50
Notes
Full support 50
Notes
Notes For absolute values, use ondeviceorientationabsolute.
No support ? — 50
Notes
Notes Provided absolute values, not relative.
Chrome Android Full support 50
Notes
Full support 50
Notes
Notes For absolute values, use ondeviceorientationabsolute.
No support ? — 50
Notes
Notes Provided absolute values, not relative.
Firefox Android Full support 6
Full support 6
No support 4 — 6
Alternate Name
Alternate Name Uses the non-standard name: onmozorientation
Opera Android No support NoSafari iOS Full support YesSamsung Internet Android ?
copy eventChrome Full support 58Edge Full support YesFirefox Full support YesIE No support NoOpera Full support 45Safari Full support YesWebView Android Full support 58Chrome Android Full support 58Firefox Android Full support YesOpera Android Full support 43Safari iOS ? Samsung Internet Android ?
cryptoChrome Full support 37Edge Full support 12Firefox Full support 34IE Full support 11
Prefixed
Full support 11
Prefixed
Prefixed Implemented with the vendor prefix: ms
Opera Full support 24Safari Full support 6.1WebView Android Full support 37Chrome Android Full support 37Firefox Android Full support 34Opera Android Full support 24Safari iOS Full support 6.1Samsung Internet Android Full support Yes
customElementsChrome Full support 54Edge No support No
Notes
No support No
Notes
Notes Under consideration
Firefox Full support 63
Full support 63
No support 59 — 63
Disabled
Disabled From version 59 until version 63 (exclusive): this feature is behind the dom.webcomponents.customelements.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
No support ? — 59
Disabled
Disabled Until version 59 (exclusive): this feature is behind the dom.webcomponents.enabled preference (needs to be set to true) and the dom.webcomponents.customelements.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE No support NoOpera Full support 41Safari Full support 10.1WebView Android Full support 54Chrome Android Full support 54Firefox Android Full support 63
Full support 63
No support 59 — 63
Disabled
Disabled From version 59 until version 63 (exclusive): this feature is behind the dom.webcomponents.customelements.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
No support ? — 59
Disabled
Disabled Until version 59 (exclusive): this feature is behind the dom.webcomponents.enabled preference (needs to be set to true) and the dom.webcomponents.customelements.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Opera Android Full support 41Safari iOS Full support 10.3Samsung Internet Android Full support Yes
cut eventChrome Full support 58Edge Full support YesFirefox Full support YesIE No support NoOpera Full support 45Safari Full support YesWebView Android Full support 58Chrome Android Full support 58Firefox Android Full support YesOpera Android Full support 43Safari iOS ? Samsung Internet Android ?
devicemotion event
Experimental
Chrome Full support YesEdge Full support YesFirefox Full support 6IE ? Opera Full support YesSafari ? WebView Android Full support YesChrome Android Full support YesFirefox Android Full support 6Opera Android No support NoSafari iOS Full support 4.2Samsung Internet Android Full support Yes
deviceorientation eventChrome Full support 7Edge Full support YesFirefox Full support 6
Full support 6
No support 3.6 — 6
Alternate Name
Alternate Name Uses the non-standard name: mozOrientation
IE ? Opera Full support 12Safari Full support YesWebView Android Full support 3Chrome Android Full support 18Firefox Android Full support 6
Full support 6
No support 4 — 6
Alternate Name
Alternate Name Uses the non-standard name: mozOrientation
Opera Android Full support 12Safari iOS Full support 4.2Samsung Internet Android Full support Yes
devicePixelRatioChrome Full support YesEdge Full support 12Firefox Full support 49IE Full support 11Opera Full support 41Safari Full support 9.1WebView Android Full support YesChrome Android Full support YesFirefox Android Full support YesOpera Android Full support YesSafari iOS Full support 9.3Samsung Internet Android Full support Yes
dialogArguments
DeprecatedNon-standard
Chrome ? Edge ? Firefox ? IE ? Opera ? Safari ? WebView Android ? Chrome Android ? Firefox Android ? Opera Android ? Safari iOS ? Samsung Internet Android ?
documentChrome Full support YesEdge 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
error eventChrome Full support YesEdge ? Firefox Full support YesIE ? Opera ? Safari ? WebView Android Full support YesChrome Android Full support YesFirefox Android Full support YesOpera Android ? Safari iOS ? Samsung Internet Android ?
eventChrome Full support YesEdge Full support 12Firefox Full support 63
Notes Disabled
Full support 63
Notes Disabled
Notes This was briefly enabled by default in 65, then removed again while related compatibility issues are sorted out (see bug 1520756).
Disabled From version 63: this feature is behind the dom.window.event.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE Full support YesOpera Full support YesSafari Full support YesWebView Android Full support YesChrome Android Full support YesFirefox Android Full support 63
Notes Disabled
Full support 63
Notes Disabled
Notes This was briefly enabled by default in 65, then removed again while related compatibility issues are sorted out (see bug 1520756).
Disabled From version 63: this feature is behind the dom.window.event.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
external
Deprecated
Chrome Full support YesEdge Full support 12Firefox Full support YesIE ? Opera Full support YesSafari ? WebView Android Full support YesChrome Android Full support YesFirefox Android Full support YesOpera Android ? Safari iOS ? Samsung Internet Android Full support Yes
find
ExperimentalNon-standard
Chrome Full support 1Edge No support NoFirefox Full support YesIE No support NoOpera Full support YesSafari Full support YesWebView Android Full support YesChrome Android Full support 18Firefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android ?
focusChrome Full support 1
Notes
Full support 1
Notes
Notes Starting in Chrome 66, opening a popup in fullscreen mode and calling this function will end fullscreen mode.
Edge Full support 12Firefox Full support YesIE Full support YesOpera Full support YesSafari Full support YesWebView Android Full support YesChrome Android Full support 18Firefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
focus eventChrome Full support YesEdge Full support YesFirefox Full support Yes
Full support Yes
No support ? — 24
Notes
Notes The interface for this event is Event, not FocusEvent.
IE 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
frameElementChrome Full support YesEdge Full support 12Firefox Full support 1IE 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
framesChrome Full support YesEdge 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
fullScreen
Non-standard
Chrome No support NoEdge ? Firefox Full support 3IE No support NoOpera ? Safari ? WebView Android No support NoChrome Android No support NoFirefox Android ? Opera Android ? Safari iOS ? Samsung Internet Android ?
gamepadconnected eventChrome Full support 35
Full support 35
No support 21 — 35
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Edge Full support YesFirefox Full support 29IE No support NoOpera Full support 22
Full support 22
No support 15 — 22
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Safari Full support 10.1WebView Android Full support 37Chrome Android Full support 37Firefox Android Full support 32Opera Android Full support YesSafari iOS No support NoSamsung Internet Android Full support Yes
gamepaddisconnected eventChrome Full support 35
Full support 35
No support 21 — 35
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Edge Full support YesFirefox Full support 29IE No support NoOpera Full support 22
Full support 22
No support 15 — 22
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Safari Full support 10.1WebView Android Full support 37Chrome Android Full support 37Firefox Android Full support 32Opera Android Full support YesSafari iOS No support NoSamsung Internet Android Full support Yes
getAttention
Non-standard
Chrome No support NoEdge No support NoFirefox No support NoIE No support NoOpera No support NoSafari 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 ?
getAttentionWithCycleCount
Non-standard
Chrome No support NoEdge No support NoFirefox No support NoIE No support NoOpera No support NoSafari 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 ?
getComputedStyleChrome Full support YesEdge Full support 12Firefox Full support Yes
Notes
Full support Yes
Notes
Notes Before version 62 this function returned null when called on a Window with no presentation (e.g. an iframe with display: none; set). Since 62 it returns a CSSStyleDeclaration object with length 0, containing empty strings (bug 1467722; also see bug 1471231 for further work).
IE Full support 9Opera Full support YesSafari Full support YesWebView Android Full support YesChrome Android Full support YesFirefox Android Full support Yes
Notes
Full support Yes
Notes
Notes Before version 62 this function returned null when called on a Window with no presentation (e.g. an iframe with display: none; set). Since 62 it returns a CSSStyleDeclaration object with length 0, containing empty strings (bug 1467722; also see bug 1471231 for further work).
Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
getDefaultComputedStyle
Non-standard
Chrome No support NoEdge No support NoFirefox Full support 19IE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android Full support 19Opera Android No support NoSafari iOS No support NoSamsung Internet Android ?
getSelectionChrome Full support YesEdge Full support 12Firefox Full support YesIE Full support 9Opera Full support YesSafari Full support YesWebView Android Full support YesChrome Android Full support YesFirefox Android Full support 55
Notes
Full support 55
Notes
Notes No support for selection events.
Opera Android Full support 37Safari iOS Full support 5.1
Notes
Full support 5.1
Notes
Notes No support for selection start.
Samsung Internet Android Full support Yes
globalStorage
DeprecatedNon-standard
Chrome No support NoEdge ? Firefox No support ? — 13IE ? Opera ? Safari ? WebView Android No support NoChrome Android No support NoFirefox Android No support NoOpera Android ? Safari iOS ? Samsung Internet Android ?
hashchange eventChrome Full support 5Edge Full support YesFirefox Full support 3.6IE Full support 8Opera Full support 10.6Safari Full support 5WebView Android Full support YesChrome Android Full support 18Firefox Android Full support 4Opera Android Full support 11Safari iOS Full support 5Samsung Internet Android ?
historyChrome Full support YesEdge Full support 12Firefox Full support YesIE ? Opera 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
home
DeprecatedNon-standard
Chrome No support NoEdge ? Firefox Full support 1IE No support NoOpera Full support YesSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android ? Opera Android ? Safari iOS No support NoSamsung Internet Android ?
innerHeightChrome Full support 1Edge Full support 12Firefox Full support 1
Full support 1
No support 4 — 24
Notes
Notes This property was buggy and could give a wrong value before page load in certain circumstances, see bug 641188.
IE Full support 9Opera Full support 9Safari Full support 3WebView Android Full support YesChrome Android Full support YesFirefox Android Full support 4
Full support 4
No support 4 — 24
Notes
Notes This property was buggy and could give a wrong value before page load in certain circumstances, see bug 641188.
Opera Android Full support 10.1Safari iOS Full support 3Samsung Internet Android Full support Yes
innerWidthChrome Full support 1Edge Full support 12Firefox Full support 1
Full support 1
No support 4 — 24
Notes
Notes This property was buggy and could give a wrong value before page load in certain circumstances, see bug 641188.
IE Full support 9Opera Full support 9Safari Full support 3WebView Android Full support YesChrome Android Full support YesFirefox Android Full support 4
Full support 4
No support 4 — 24
Notes
Notes This property was buggy and could give a wrong value before page load in certain circumstances, see bug 641188.
Opera Android Full support 10.1Safari iOS Full support 3Samsung Internet Android Full support Yes
isSecureContextChrome Full support YesEdge Full support 15Firefox Full support 49IE ? Opera Full support YesSafari Full support YesWebView Android Full support YesChrome Android Full support YesFirefox Android Full support 49Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
languagechange eventChrome Full support 37Edge ? Firefox Full support 32IE No support NoOpera Full support 24Safari ? WebView Android Full support 37Chrome Android Full support 37Firefox Android Full support 4Opera Android Full support 24Safari iOS ? Samsung Internet Android ?
lengthChrome Full support YesEdge Full support 12Firefox Full support YesIE ? Opera 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
load eventChrome 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 YesFirefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
localStorageChrome Full support 4Edge Full support 12Firefox Full support 3.5IE Full support 8Opera Full support 10.5Safari Full support 4WebView Android Full support YesChrome Android Full support YesFirefox Android Full support YesOpera Android Full support 11Safari iOS Full support 3.2Samsung Internet Android Full support Yes
locationChrome Full support YesEdge Full support 12Firefox Full support Yes
Notes
Full support Yes
Notes
Notes Before Firefox 57, single quotes contained in URLs were escaped when accessed via URL APIs. See bug 1386683.
IE Full support YesOpera Full support YesSafari Full support YesWebView Android Full support YesChrome Android Full support YesFirefox Android Full support Yes
Notes
Full support Yes
Notes
Notes Before Firefox 57, single quotes contained in URLs were escaped when accessed via URL APIs. See bug 1386683.
Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
locationbarChrome Full support YesEdge Full support 12Firefox Full support YesIE ? Opera 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
matchMediaChrome Full support 9Edge Full support 12Firefox Full support 6IE Full support 10Opera Full support 12.1Safari Full support 5.1WebView Android Full support YesChrome Android Full support YesFirefox Android Full support 6Opera Android Full support 12.1Safari iOS Full support 5Samsung Internet Android Full support Yes
maximize
Non-standard
Chrome No support NoEdge ? Firefox No support NoIE ? Opera ? Safari ? WebView Android No support NoChrome Android No support NoFirefox Android No support NoOpera Android ? Safari iOS ? Samsung Internet Android ?
menubarChrome Full support YesEdge Full support 12Firefox Full support YesIE ? Opera 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
message eventChrome Full support 60Edge ? Firefox ? IE ? Opera Full support 47Safari ? WebView Android Full support 60Chrome Android Full support 60Firefox Android ? Opera Android Full support 47Safari iOS ? Samsung Internet Android ?
messageerror eventChrome Full support 60Edge ? Firefox Full support 57IE ? Opera Full support 47Safari ? WebView Android Full support 60Chrome Android Full support 60Firefox Android Full support 57Opera Android Full support 47Safari iOS ? Samsung Internet Android ?
minimize
Non-standard
Chrome No support NoEdge ? Firefox No support NoIE ? Opera ? Safari ? WebView Android No support NoChrome Android No support NoFirefox Android No support NoOpera Android ? Safari iOS ? Samsung Internet Android ?
moveByChrome Full support YesEdge Full support 12Firefox Full support YesIE ? Opera 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
moveToChrome Full support YesEdge Full support 12Firefox Full support YesIE ? Opera 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
mozAnimationStartTime
Non-standard
Chrome No support NoEdge No support NoFirefox No support NoIE No support NoOpera No support NoSafari 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
mozInnerScreenX
Non-standard
Chrome No support NoEdge No support NoFirefox Full support YesIE 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
mozInnerScreenY
Non-standard
Chrome No support NoEdge No support NoFirefox Full support YesIE 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
mozPaintCount
DeprecatedNon-standard
Chrome No support NoEdge No support NoFirefox No support 4 — 72IE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android Full support 4Opera Android No support NoSafari iOS No support NoSamsung Internet Android No support No
nameChrome Full support YesEdge Full support 12Firefox Full support YesIE ? Opera 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
navigatorChrome Full support YesEdge Full support 12Firefox Full support YesIE ? Opera 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
offline eventChrome 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 YesFirefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
onappinstalledChrome Full support 64Edge ? Firefox Full support 49
Disabled
Full support 49
Disabled
Disabled From version 49: this feature is behind the dom.manifest.onappinstall preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE ? Opera No support NoSafari ? WebView Android No support NoChrome Android Full support 57Firefox Android Full support 49
Disabled
Full support 49
Disabled
Disabled From version 49: this feature is behind the dom.manifest.onappinstall preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Opera Android No support NoSafari iOS ? Samsung Internet Android Full support Yes
onbeforeinstallpromptChrome Full support YesEdge ? Firefox ? IE ? Opera Full support YesSafari ? WebView Android Full support YesChrome Android Full support YesFirefox Android ? Opera Android Full support YesSafari iOS ? Samsung Internet Android Full support Yes
ondevicelightChrome No support NoEdge Full support 13Firefox No support 22 — 60IE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android Full support 15Opera Android No support NoSafari iOS No support NoSamsung Internet Android ?
ondevicemotionChrome Full support YesEdge Full support 12Firefox Full support YesIE ? Opera Full support YesSafari ? WebView 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
ondeviceorientationChrome Full support YesEdge Full support 12Firefox Full support YesIE ? Opera Full support YesSafari ? WebView 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
ondeviceorientationabsolute
Non-standard
Chrome Full support 50Edge ? Firefox No support NoIE ? Opera ? Safari ? WebView Android Full support 50Chrome Android Full support 50Firefox Android No support NoOpera Android ? Safari iOS ? Samsung Internet Android ?
ondeviceproximityChrome No support NoEdge ? Firefox No support ? — 60IE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android Full support 15Opera Android No support NoSafari iOS No support NoSamsung Internet Android ?
ongamepadconnectedChrome Full support 35
Full support 35
No support 21 — 35
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Edge Full support YesFirefox Full support 29IE No support NoOpera Full support 22
Full support 22
No support 15 — 22
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Safari Full support 10.1WebView Android Full support 37Chrome Android Full support 35
Full support 35
No support 25 — 35
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Firefox Android Full support 32Opera Android Full support 22
Full support 22
No support 14 — 22
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Safari iOS No support NoSamsung Internet Android Full support Yes
ongamepaddisconnectedChrome Full support 35
Full support 35
No support 21 — 35
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Edge Full support YesFirefox Full support 29IE No support NoOpera Full support 22
Full support 22
No support 15 — 22
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Safari Full support 10.1WebView Android ? Chrome Android Full support 35
Full support 35
No support 25 — 35
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Firefox Android Full support 32Opera Android Full support 22
Full support 22
No support 14 — 22
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Safari iOS No support NoSamsung Internet Android Full support Yes
online eventChrome 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 YesFirefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
onpaint
Non-standard
Chrome No support NoEdge ? Firefox No support NoIE ? Opera ? Safari ? WebView Android Full support YesChrome Android No support NoFirefox Android No support NoOpera Android ? Safari iOS ? Samsung Internet Android ?
onrejectionhandledChrome Full support 49Edge ? Firefox Full support 69
Full support 69
Full support 68
Disabled
Disabled From version 68: this feature is behind the dom.promise_rejection_events.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 Full support 68
Disabled
Full support 68
Disabled
Disabled From version 68: this feature is behind the dom.promise_rejection_events.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 ?
onunhandledrejectionChrome Full support 49Edge Full support YesFirefox Full support 69
Full support 69
Full support 68
Disabled
Disabled From version 68: this feature is behind the dom.promise_rejection_events.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 Full support 68
Disabled
Full support 68
Disabled
Disabled From version 68: this feature is behind the dom.promise_rejection_events.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 ?
onuserproximityChrome No support NoEdge ? Firefox Full support YesIE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android No support 15 — 60Opera Android No support NoSafari iOS No support NoSamsung Internet Android ?
onvrdisplayactivate
ExperimentalDeprecated
Chrome No support NoEdge Full support 15Firefox Full support 55
Notes
Full support 55
Notes
Notes Windows support was enabled in Firefox 55.
Full support 64
Notes
Notes macOS support was enabled in Firefox 64.
IE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android Full support 55Opera Android No support NoSafari iOS No support NoSamsung Internet Android No support No
onvrdisplayblur
ExperimentalDeprecated
Chrome No support NoEdge Full support 15Firefox No support NoIE No support NoOpera No support NoSafari 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
onvrdisplayconnect
ExperimentalDeprecated
Chrome No support No
Disabled
No support No
Disabled
Disabled This feature is behind the WebVR preference (needs to be set to Enabled). To change preferences in Chrome, visit chrome://flags.
Edge Full support 15Firefox Full support 55
Notes
Full support 55
Notes
Notes Windows support was enabled in Firefox 55.
Full support 64
Notes
Notes macOS support was enabled in Firefox 64.
IE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android Full support Yes
Notes
Full support Yes
Notes
Notes Chrome for Android 56 supports only Google Daydream View.
Notes Chrome for Android 57 adds support for Google Cardboard.
Firefox Android Full support 55Opera Android No support NoSafari iOS No support NoSamsung Internet Android Full support Yes
Notes
Full support Yes
Notes
Notes Supported on Samsung Internet for GearVR.
onvrdisplaydeactivate
ExperimentalDeprecated
Chrome No support NoEdge Full support 15Firefox Full support 55
Notes
Full support 55
Notes
Notes Windows support was enabled in Firefox 55.
Full support 64
Notes
Notes macOS support was enabled in Firefox 64.
IE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android Full support 55Opera Android No support NoSafari iOS No support NoSamsung Internet Android No support No
onvrdisplaydisconnect
ExperimentalDeprecated
Chrome No support No
Disabled
No support No
Disabled
Disabled This feature is behind the WebVR preference (needs to be set to Enabled). To change preferences in Chrome, visit chrome://flags.
Edge Full support 15Firefox Full support 55
Notes
Full support 55
Notes
Notes Windows support was enabled in Firefox 55.
Full support 64
Notes
Notes macOS support was enabled in Firefox 64.
IE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android Full support 56
Notes
Full support 56
Notes
Notes Chrome for Android 56 supports only Google Daydream View.
Notes Chrome for Android 57 adds support for Google Cardboard.
Firefox Android Full support 55Opera Android No support NoSafari iOS No support NoSamsung Internet Android Full support Yes
Notes
Full support Yes
Notes
Notes Supported on Samsung Internet for GearVR.
onvrdisplayfocus
ExperimentalDeprecated
Chrome No support NoEdge Full support 15Firefox No support NoIE No support NoOpera No support NoSafari 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
onvrdisplaypointerrestricted
ExperimentalDeprecated
Chrome No support NoEdge No support NoFirefox No support NoIE No support NoOpera No support NoSafari 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
onvrdisplaypointerunrestricted
ExperimentalDeprecated
Chrome No support NoEdge No support NoFirefox No support NoIE No support NoOpera No support NoSafari 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
onvrdisplaypresentchange
ExperimentalDeprecated
Chrome Full support 65
Disabled
Full support 65
Disabled
Disabled From version 65: this feature is behind the WebVR preference (needs to be set to Enabled). To change preferences in Chrome, visit chrome://flags.
Edge Full support 15Firefox Full support 55
Notes
Full support 55
Notes
Notes Windows support was enabled in Firefox 55.
Full support 64
Notes
Notes macOS support was enabled in Firefox 64.
IE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android Full support 56
Notes
Full support 56
Notes
Notes Chrome for Android 56 supports only Google Daydream View.
Notes Chrome for Android 57 adds support for Google Cardboard.
Firefox Android Full support 55Opera Android No support NoSafari iOS No support NoSamsung Internet Android Full support Yes
Notes
Full support Yes
Notes
Notes Supported on Samsung Internet for GearVR.
openChrome Full support YesEdge 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
openDialog
Non-standard
Chrome No support NoEdge ? Firefox No support NoIE ? Opera ? Safari ? WebView Android No support NoChrome Android No support NoFirefox Android No support NoOpera Android ? Safari iOS ? Samsung Internet Android ?
openerChrome Full support YesEdge Full support 12Firefox Full support YesIE ? Opera 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
orientation
Deprecated
Chrome No support NoEdge ? Firefox No support NoIE ? Opera ? Safari ? WebView 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
orientationchange event
Deprecated
Chrome No support NoEdge No support NoFirefox No support NoIE No support NoOpera No support NoSafari No support NoWebView Android Full support YesChrome Android Full support YesFirefox Android Full support 44Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
outerHeightChrome Full support 1Edge Full support 12Firefox Full support 1IE Full support 9Opera Full support 9Safari Full support 3WebView Android Full support YesChrome Android Full support YesFirefox Android Full support 4Opera Android Full support 10.1Safari iOS Full support 3Samsung Internet Android Full support Yes
outerWidthChrome Full support 1Edge Full support 12Firefox Full support 1IE Full support 9Opera Full support 9Safari Full support 3WebView Android Full support YesChrome Android Full support YesFirefox Android Full support 4Opera Android Full support 10.1Safari iOS Full support 3Samsung Internet Android Full support Yes
pagehide eventChrome ? Edge ? Firefox Full support 1.5IE ? Opera ? Safari ? WebView Android ? Chrome Android ? Firefox Android Full support 4Opera Android ? Safari iOS ? Samsung Internet Android ?
pageshow eventChrome ? Edge ? Firefox Full support 1.5IE ? Opera ? Safari ? WebView Android ? Chrome Android ? Firefox Android Full support 4Opera Android ? Safari iOS ? Samsung Internet Android ?
pageXOffsetChrome Full support YesEdge Full support 12Firefox Full support YesIE Full support 9Opera 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
pageYOffsetChrome Full support YesEdge Full support 12Firefox Full support YesIE Full support 9Opera 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
parentChrome Full support YesEdge Full support 12Firefox Full support YesIE Full support 9Opera 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
paste eventChrome Full support 58Edge Full support YesFirefox Full support YesIE Full support 11Opera Full support 45Safari Full support YesWebView Android Full support 58Chrome Android Full support 58Firefox Android Full support YesOpera Android Full support 43Safari iOS ? Samsung Internet Android ?
performanceChrome Full support 6Edge Full support 12Firefox Full support 7IE Full support 9Opera Full support 15Safari Full support 8WebView Android Full support YesChrome Android Full support YesFirefox Android Full support 7Opera Android Full support 14Safari iOS Full support 9Samsung Internet Android Full support Yes
personalbarChrome Full support YesEdge Full support 12Firefox Full support YesIE ? Opera 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
pkcs11
DeprecatedNon-standard
Chrome No support NoEdge ? Firefox No support ? — 29IE ? Opera ? Safari ? WebView Android No support NoChrome Android No support NoFirefox Android No support ? — 29Opera Android ? Safari iOS ? Samsung Internet Android ?
popstate eventChrome Full support 5
Notes
Full support 5
Notes
Notes Chrome used to emit a popstate event on page load, but since version 34 no longer does.
Edge Full support 12Firefox Full support 4
Notes
Full support 4
Notes
Notes Firefox emits a popstate event on page load.
IE Full support 10Opera Full support 11.5Safari Full support 6
Notes
Full support 6
Notes
Notes Safari used to emit a popstate event on page load, but since version 10.0 no longer does.
WebView Android Full support YesChrome Android Full support 18
Notes
Full support 18
Notes
Notes Chrome used to emit a popstate event on page load, but since version 34 no longer does.
Firefox Android Full support 4
Notes
Full support 4
Notes
Notes Firefox emits a popstate event on page load.
Opera Android Full support 11.5Safari iOS Full support 5.1
Notes
Full support 5.1
Notes
Notes Safari used to emit a popstate event on page load, but since version 10.0 no longer does.
Samsung Internet Android ?
postMessageChrome Full support 1Edge Full support 12Firefox Full support 8
Notes
Full support 8
Notes
Notes Supports sending File and FileList objects between windows. This is only allowed if the recipient's principal is contained within the sender's principal for security reasons.
Full support 6
Notes
Notes The message parameter is serialized using the structured clone algorithm. This means you can pass a broad variety of data objects safely to the destination window without having to serialize them yourself.
No support ? — 6
Notes
Notes The message parameter must be a string.
IE Full support 10
Notes
Full support 10
Notes
Notes IE10 had an important limitation: see this article for details.
No support 8 — 10
Notes
Notes Support only for <frame> and <iframe>.
Opera Full support 9.5Safari Full support 4WebView Android Full support YesChrome Android Full support YesFirefox Android Full support 8
Notes
Full support 8
Notes
Notes Supports sending File and FileList objects between windows. This is only allowed if the recipient's principal is contained within the sender's principal for security reasons.
Full support 6
Notes
Notes The message parameter is serialized using the structured clone algorithm. This means you can pass a broad variety of data objects safely to the destination window without having to serialize them yourself.
No support ? — 6
Notes
Notes The message parameter must be a string.
Opera Android Full support YesSafari iOS Full support Yes
Notes
Full support Yes
Notes
Notes For security reasons, to work properly on Safari, construct using document.getElementById('your-frame').contentWindow.
Samsung Internet Android Full support Yes
printChrome Full support Yes
Notes
Full support Yes
Notes
Notes Starting with Chrome 46.0 this method is blocked inside an <iframe> unless its sandbox attribute has the value allow-modals.
Edge Full support 12Firefox Full support YesIE Full support 5Opera Full support YesSafari Full support YesWebView Android Full support YesChrome Android Full support YesFirefox Android No support No
Notes
No support No
Notes
Notes See bug 1247609.
Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
promptChrome Full support Yes
Notes
Full support Yes
Notes
Notes Starting with Chrome 46.0 this method is blocked inside an <iframe> unless its sandbox attribute has the value allow-modals.
Edge Full support 12Firefox Full support YesIE Full support Yes
Notes
Full support Yes
Notes
Notes This function has no effect in the Modern UI/Metro version of Internet Explorer for Windows 8. It does not display a prompt to the user, and always returns undefined. It is not clear whether this is a bug or intended behavior. Desktop versions of IE do implement this function.
Opera 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
rejectionhandled eventChrome Full support 49Edge ? Firefox Full support 69
Full support 69
Full support 68
Disabled
Disabled From version 68: this feature is behind the dom.promise_rejection_events.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 Full support 68
Disabled
Full support 68
Disabled
Disabled From version 68: this feature is behind the dom.promise_rejection_events.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 ?
releaseEvents
DeprecatedNon-standard
Chrome Full support YesEdge Full support 12Firefox Full support YesIE ? Opera 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
requestAnimationFrameChrome Full support 24
Full support 24
Full support 10
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Edge Full support 12Firefox Full support 23
Notes
Full support 23
Notes
Notes Callback parameter is a DOMHighResTimestamp. This means ten microsecond precision and zero time as performance.now().
No support 11 — 42
Prefixed Notes
Prefixed Implemented with the vendor prefix: moz
Notes Callback parameter is a DOMTimestamp. This means millisecond precision and zero time as Date.now().
No support 4 — 11
Prefixed Notes
Prefixed Implemented with the vendor prefix: moz
Notes Could be called with no input parameters.
IE Full support 10Opera Full support 15
Full support 15
No support ? — 15
Prefixed
Prefixed Implemented with the vendor prefix: o
Safari Full support 6.1
Full support 6.1
Full support 6
Prefixed
Prefixed Implemented with the vendor prefix: webkit
WebView Android Full support YesChrome Android Full support 25
Full support 25
Full support 18
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Firefox Android Full support 23
Full support 23
No support 14 — 42
Prefixed
Prefixed Implemented with the vendor prefix: moz
Opera Android Full support 14
Full support 14
No support ? — 14
Prefixed
Prefixed Implemented with the vendor prefix: o
Safari iOS Full support 7
Full support 7
Full support 6.1
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Samsung Internet Android Full support Yes
requestFileSystem
Non-standard
Chrome Full support 13
Prefixed
Full support 13
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Edge Full support YesFirefox No support NoIE No support NoOpera No support NoSafari No support NoWebView Android Full support 37
Prefixed
Full support 37
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Chrome Android Full support Yes
Prefixed
Full support Yes
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Firefox Android No support NoOpera Android No support NoSafari iOS No support NoSamsung Internet Android ?
requestIdleCallback
Experimental
Chrome Full support 47Edge No support NoFirefox Full support 55
Notes
Full support 55
Notes
Notes Enabled by default.
No support 53 — 55
Notes
Notes Implemented but disabled by default.
IE No support NoOpera Full support 34Safari No support NoWebView Android Full support 47Chrome Android Full support 47Firefox Android Full support 55
Notes
Full support 55
Notes
Notes Enabled by default.
No support 53 — 55
Notes
Notes Implemented but disabled by default.
Opera Android Full support YesSafari iOS No support NoSamsung Internet Android Full support Yes
resize eventChrome Full support 45
Notes
Full support 45
Notes
Notes Chrome does not emit a resize event on page load.
Edge Full support YesFirefox Full support Yes
Notes
Full support Yes
Notes
Notes Prior to Firefox 68, Firefox emitted a resize event on page load. This is no longer the case.
IE Full support YesOpera Full support 32
Notes
Full support 32
Notes
Notes Opera does not emit a resize event on page load.
Safari Full support YesWebView Android Full support 45
Notes
Full support 45
Notes
Notes Webview does not emit a resize event on page load.
Chrome Android Full support 45
Notes
Full support 45
Notes
Notes Chrome does not emit a resize event on page load.
Firefox Android Full support Yes
Notes
Full support Yes
Notes
Notes Prior to Firefox 68, Firefox emitted a resize event on page load. This is no longer the case.
Opera Android Full support 32
Notes
Full support 32
Notes
Notes Opera does not emit a resize event on page load.
Safari iOS Full support YesSamsung Internet Android Full support Yes
resizeByChrome Full support YesEdge Full support 12Firefox Full support Yes
Notes
Full support Yes
Notes
Notes Since Firefox 7, it's no longer possible for a web site to change the default size of a window in a browser if the window wasn't created by window.open or contains more than one tab. See here for more details.
IE ? Opera 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
resizeToChrome Full support YesEdge Full support 12Firefox Full support Yes
Notes
Full support Yes
Notes
Notes Since Firefox 7, it's no longer possible for a web site to change the default size of a window in a browser if the window wasn't created by window.open or contains more than one tab. See here for more details.
IE ? Opera 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
restoreChrome No support NoEdge ? Firefox No support NoIE ? Opera ? Safari ? WebView Android No support NoChrome Android No support NoFirefox Android No support NoOpera Android ? Safari iOS ? Samsung Internet Android ?
returnValueChrome No support NoEdge ? Firefox No support NoIE ? Opera ? Safari ? WebView Android No support NoChrome Android No support NoFirefox Android No support NoOpera Android ? Safari iOS ? Samsung Internet Android ?
routeEvent
DeprecatedNon-standard
Chrome No support NoEdge ? Firefox No support NoIE ? Opera ? Safari ? WebView Android No support NoChrome Android No support NoFirefox Android No support NoOpera Android ? Safari iOS ? Samsung Internet Android ?
screenChrome Full support YesEdge Full support 12Firefox Full support YesIE ? Opera 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
screenLeftChrome Full support YesEdge Full support 12Firefox Full support 64IE Full support YesOpera Full support YesSafari Full support YesWebView Android Full support YesChrome Android Full support YesFirefox Android Full support 64Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
screenTopChrome Full support YesEdge Full support 12Firefox Full support 64IE Full support YesOpera Full support YesSafari Full support YesWebView Android Full support YesChrome Android Full support YesFirefox Android Full support 64Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
screenXChrome Full support YesEdge Full support 12Firefox Full support Yes
Notes
Full support Yes
Notes
Notes Before Firefox 28, Gecko was using device pixels instead of CSS pixels; in other words, it was assuming a value of screenPixelsPerCSSPixel of 1 for any device.
IE Full support YesOpera Full support YesSafari Full support YesWebView Android Full support YesChrome Android Full support YesFirefox Android Full support Yes
Notes
Full support Yes
Notes
Notes Before Firefox 28, Gecko was using device pixels instead of CSS pixels; in other words, it was assuming a value of screenPixelsPerCSSPixel of 1 for any device.
Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
screenYChrome Full support YesEdge Full support 12Firefox Full support Yes
Notes
Full support Yes
Notes
Notes Before Firefox 28, Gecko was using device pixels instead of CSS pixels; in other words, it was assuming a value of screenPixelsPerCSSPixel of 1 for any device.
IE Full support YesOpera Full support YesSafari Full support YesWebView Android Full support YesChrome Android Full support YesFirefox Android Full support Yes
Notes
Full support Yes
Notes
Notes Before Firefox 28, Gecko was using device pixels instead of CSS pixels; in other words, it was assuming a value of screenPixelsPerCSSPixel of 1 for any device.
Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
scrollChrome Full support YesEdge Full support 12Firefox Full support YesIE ? Opera 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
scrollbarsChrome Full support YesEdge Full support 12Firefox Full support YesIE ? Opera 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
scrollByChrome Full support YesEdge Partial support 12
Notes
Partial support 12
Notes
Notes Only scrollBy(x-coord, y-coord) is supported.
Firefox Full support YesIE Partial support 11
Notes
Partial support 11
Notes
Notes Only scrollBy(x-coord, y-coord) is supported.
Opera 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
scrollByLines
Non-standard
Chrome No support NoEdge ? Firefox Full support YesIE ? Opera ? Safari No support NoWebView Android No support NoChrome Android No support NoFirefox Android Full support YesOpera Android ? Safari iOS No support NoSamsung Internet Android ?
scrollByPages
Non-standard
Chrome No support NoEdge ? Firefox Full support YesIE ? Opera ? Safari No support NoWebView Android No support NoChrome Android No support NoFirefox Android Full support YesOpera Android ? Safari iOS No support NoSamsung Internet Android ?
scrollMaxX
Non-standard
Chrome No support NoEdge ? Firefox Full support YesIE ? Opera ? Safari No support NoWebView Android No support NoChrome Android No support NoFirefox Android Full support YesOpera Android ? Safari iOS No support NoSamsung Internet Android ?
scrollMaxY
Non-standard
Chrome No support NoEdge ? Firefox Full support YesIE ? Opera ? Safari ? WebView Android No support NoChrome Android No support NoFirefox Android Full support YesOpera Android ? Safari iOS ? Samsung Internet Android ?
scrollToChrome Full support YesEdge 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
scrollXChrome Full support Yes
Full support Yes
Full support Yes
Alternate Name
Alternate Name Uses the non-standard name: pageXOffset
Edge Full support Yes
Full support Yes
Full support Yes
Alternate Name
Alternate Name Uses the non-standard name: pageXOffset
Firefox Full support Yes
Full support Yes
Full support Yes
Alternate Name
Alternate Name Uses the non-standard name: pageXOffset
IE No support No
No support No
Full support 9
Alternate Name
Alternate Name Uses the non-standard name: pageXOffset
Opera Full support Yes
Full support Yes
Full support Yes
Alternate Name
Alternate Name Uses the non-standard name: pageXOffset
Safari Full support Yes
Full support Yes
Full support Yes
Alternate Name
Alternate Name Uses the non-standard name: pageXOffset
WebView Android Full support Yes
Full support Yes
Full support Yes
Alternate Name
Alternate Name Uses the non-standard name: pageXOffset
Chrome Android Full support Yes
Full support Yes
Full support Yes
Alternate Name
Alternate Name Uses the non-standard name: pageXOffset
Firefox Android Full support Yes
Full support Yes
Full support Yes
Alternate Name
Alternate Name Uses the non-standard name: pageXOffset
Opera Android Full support Yes
Full support Yes
?
Alternate Name
Alternate Name Uses the non-standard name: pageXOffset
Safari iOS Full support Yes
Full support Yes
?
Alternate Name
Alternate Name Uses the non-standard name: pageXOffset
Samsung Internet Android Full support Yes
Full support Yes
?
Alternate Name
Alternate Name Uses the non-standard name: pageXOffset
scrollYChrome Full support Yes
Full support Yes
Full support Yes
Alternate Name
Alternate Name Uses the non-standard name: pageYOffset
Edge Full support Yes
Full support Yes
Full support Yes
Alternate Name
Alternate Name Uses the non-standard name: pageYOffset
Firefox Full support Yes
Full support Yes
Full support Yes
Alternate Name
Alternate Name Uses the non-standard name: pageYOffset
IE No support No
No support No
Full support 9
Alternate Name
Alternate Name Uses the non-standard name: pageYOffset
Opera Full support Yes
Full support Yes
Full support Yes
Alternate Name
Alternate Name Uses the non-standard name: pageYOffset
Safari Full support Yes
Full support Yes
Full support Yes
Alternate Name
Alternate Name Uses the non-standard name: pageYOffset
WebView Android Full support Yes
Full support Yes
Full support Yes
Alternate Name
Alternate Name Uses the non-standard name: pageYOffset
Chrome Android Full support Yes
Full support Yes
Full support Yes
Alternate Name
Alternate Name Uses the non-standard name: pageYOffset
Firefox Android Full support Yes
Full support Yes
Full support Yes
Alternate Name
Alternate Name Uses the non-standard name: pageYOffset
Opera Android Full support Yes
Full support Yes
?
Alternate Name
Alternate Name Uses the non-standard name: pageYOffset
Safari iOS Full support Yes
Full support Yes
?
Alternate Name
Alternate Name Uses the non-standard name: pageYOffset
Samsung Internet Android Full support Yes
Full support Yes
?
Alternate Name
Alternate Name Uses the non-standard name: pageYOffset
selfChrome Full support YesEdge 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
sessionStorageChrome Full support 5Edge Full support 12Firefox Full support 2IE Full support 8Opera Full support 10.5Safari Full support 4WebView Android Full support YesChrome Android Full support YesFirefox Android Full support YesOpera Android Full support 11Safari iOS Full support 3.2Samsung Internet Android Full support Yes
setCursor
Non-standard
Chrome No support NoEdge ? Firefox No support NoIE ? Opera ? Safari ? WebView Android No support NoChrome Android No support NoFirefox Android No support NoOpera Android ? Safari iOS ? Samsung Internet Android ?
setImmediate
Non-standard
Chrome No support NoEdge Full support 12Firefox No support NoIE Full support 10Opera No support NoSafari 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 ?
setResizable
Non-standard
Chrome No support NoEdge ? Firefox Full support YesIE ? Opera ? Safari ? WebView Android No support NoChrome Android No support NoFirefox Android Full support YesOpera Android ? Safari iOS ? Samsung Internet Android ?
showModalDialog
DeprecatedNon-standard
Chrome No support ? — 43Edge No support NoFirefox No support 3 — 56IE Full support 4Opera No support NoSafari Full support 5.1
Notes
Full support 5.1
Notes
Notes See WebKit bug 151885 for possible future removal from Safari.
WebView 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
sidebar
DeprecatedNon-standard
Chrome No support NoEdge ? Firefox Full support YesIE ? Opera ? Safari ? WebView Android No support NoChrome Android No support NoFirefox Android Full support YesOpera Android ? Safari iOS ? Samsung Internet Android ?
sizeToContent
Non-standard
Chrome No support NoEdge ? Firefox Full support Yes
Full support Yes
Full support 20
Notes
Notes The mimimal size is clamped to prevent the window from being too small for the user to interact with.
IE ? Opera ? Safari ? WebView Android No support NoChrome Android No support NoFirefox Android Full support Yes
Notes
Full support Yes
Notes
Notes This method has no effect as a page is always in a tab.
Opera Android ? Safari iOS ? Samsung Internet Android ?
speechSynthesisChrome Full support 33Edge Full support 14Firefox Full support 49IE No support NoOpera Full support YesSafari Full support 7WebView Android Full support 37Chrome Android Full support YesFirefox Android No support NoOpera Android No support NoSafari iOS Full support 7Samsung Internet Android Full support Yes
statusChrome Full support YesEdge Full support 12Firefox Full support YesIE ? Opera 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
statusbarChrome Full support YesEdge Full support 12Firefox Full support YesIE ? Opera 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
stopChrome Full support YesEdge Full support 14Firefox Full support YesIE No support NoOpera 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
storage eventChrome Full support 1Edge Full support YesFirefox Full support 45IE ? Opera Full support 15Safari ? WebView Android Full support ≤37Chrome Android Full support 18Firefox Android Full support 45Opera Android Full support 14Safari iOS ? Samsung Internet Android ?
toolbarChrome Full support YesEdge Full support 12Firefox Full support YesIE ? Opera 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
topChrome Full support YesEdge Full support 12Firefox Full support Yes
Notes
Full support Yes
Notes
Notes Starting in Firefox 6, this property is read only, as defined by the standard.
IE 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
transitioncancel eventChrome No support NoEdge ? Firefox Full support 53IE ? Opera ? Safari ? WebView Android No support NoChrome Android No support NoFirefox Android Full support 53Opera Android ? Safari iOS ? Samsung Internet Android ?
transitionend eventChrome No support NoEdge ? Firefox Full support 51IE ? Opera ? Safari Full support YesWebView Android No support NoChrome Android No support NoFirefox Android Full support 51Opera Android ? Safari iOS Full support YesSamsung Internet Android ?
transitionrun eventChrome No support NoEdge ? Firefox Full support 53IE ? Opera ? Safari ? WebView Android No support NoChrome Android No support NoFirefox Android Full support 53Opera Android ? Safari iOS ? Samsung Internet Android ?
transitionstart eventChrome No support NoEdge ? Firefox Full support 53IE ? Opera ? Safari ? WebView Android No support NoChrome Android No support NoFirefox Android Full support 53Opera Android ? Safari iOS ? Samsung Internet Android ?
unhandledrejection eventChrome Full support 49Edge Full support YesFirefox Full support 69
Full support 69
Full support 68
Disabled
Disabled From version 68: this feature is behind the dom.promise_rejection_events.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 Full support 68
Disabled
Full support 68
Disabled
Disabled From version 68: this feature is behind the dom.promise_rejection_events.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 ?
unload eventChrome 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 YesFirefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
updateCommands
Non-standard
Chrome No support NoEdge ? Firefox Full support YesIE ? Opera ? Safari ? WebView Android No support NoChrome Android No support NoFirefox Android Full support YesOpera Android ? Safari iOS ? Samsung Internet Android ?
visualViewport
Experimental
Chrome Full support 60Edge ? Firefox Full support 63
Disabled
Full support 63
Disabled
Disabled From version 63: this feature is behind the dom.visualviewport.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE ? Opera Full support 47Safari ? WebView Android Full support 60Chrome Android Full support 60Firefox Android Full support 63
Disabled
Full support 63
Disabled
Disabled From version 63: this feature is behind the dom.visualviewport.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Opera Android Full support 44Safari iOS ? Samsung Internet Android ?
vrdisplayactivate event
Experimental
Chrome No support NoEdge No support NoFirefox Full support 55
Notes
Full support 55
Notes
Notes Windows support was enabled in Firefox 55.
Full support 64
Notes
Notes macOS support was enabled in Firefox 64.
IE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android Full support 55Opera Android No support NoSafari iOS No support NoSamsung Internet Android No support No
vrdisplayblur event
Experimental
Chrome No support NoEdge No support NoFirefox No support NoIE No support NoOpera No support NoSafari 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
vrdisplayconnect event
Experimental
Chrome No support No
Disabled
No support No
Disabled
Disabled This feature is behind the WebVR preference (needs to be set to Enabled). To change preferences in Chrome, visit chrome://flags.
Edge Full support 15Firefox Full support 55
Notes
Full support 55
Notes
Notes Windows support was enabled in Firefox 55.
Full support 64
Notes
Notes macOS support was enabled in Firefox 64.
IE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android Full support Yes
Notes
Full support Yes
Notes
Notes Chrome for Android 56 supports only Google Daydream View.
Notes Chrome for Android 57 adds support for Google Cardboard.
Firefox Android Full support 55Opera Android No support NoSafari iOS No support NoSamsung Internet Android Full support Yes
Notes
Full support Yes
Notes
Notes Supported on Samsung Internet for GearVR.
vrdisplaydeactivate event
Experimental
Chrome No support NoEdge No support NoFirefox Full support 55
Notes
Full support 55
Notes
Notes Windows support was enabled in Firefox 55.
Full support 64
Notes
Notes macOS support was enabled in Firefox 64.
IE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android Full support 55Opera Android No support NoSafari iOS No support NoSamsung Internet Android No support No
vrdisplaydisconnect event
Experimental
Chrome No support No
Disabled
No support No
Disabled
Disabled This feature is behind the WebVR preference (needs to be set to Enabled). To change preferences in Chrome, visit chrome://flags.
Edge Full support 15Firefox Full support 55
Notes
Full support 55
Notes
Notes Windows support was enabled in Firefox 55.
Full support 64
Notes
Notes macOS support was enabled in Firefox 64.
IE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android Full support 56
Notes
Full support 56
Notes
Notes Chrome for Android 56 supports only Google Daydream View.
Notes Chrome for Android 57 adds support for Google Cardboard.
Firefox Android Full support 55Opera Android No support NoSafari iOS No support NoSamsung Internet Android Full support Yes
Notes
Full support Yes
Notes
Notes Supported on Samsung Internet for GearVR.
vrdisplayfocus event
Experimental
Chrome No support NoEdge Full support 15Firefox No support NoIE No support NoOpera No support NoSafari 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
vrdisplaypointerrestricted event
Experimental
Chrome No support NoEdge No support NoFirefox No support NoIE No support NoOpera No support NoSafari 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
vrdisplaypointerunrestricted event
Experimental
Chrome No support NoEdge No support NoFirefox No support NoIE No support NoOpera No support NoSafari 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
vrdisplaypresentchange event
Experimental
Chrome Full support 65
Disabled
Full support 65
Disabled
Disabled From version 65: this feature is behind the WebVR preference (needs to be set to Enabled). To change preferences in Chrome, visit chrome://flags.
Edge Full support 15Firefox Full support 55
Notes
Full support 55
Notes
Notes Windows support was enabled in Firefox 55.
Full support 64
Notes
Notes macOS support was enabled in Firefox 64.
IE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android Full support 56
Notes
Full support 56
Notes
Notes Chrome for Android 56 supports only Google Daydream View.
Notes Chrome for Android 57 adds support for Google Cardboard.
Firefox Android Full support 55Opera Android No support NoSafari iOS No support NoSamsung Internet Android Full support Yes
Notes
Full support Yes
Notes
Notes Supported on Samsung Internet for GearVR.
windowChrome Full support YesEdge Full support 12Firefox Full support YesIE ? Opera 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

Legend

Full support  
Full support
Partial support  
Partial 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.
Uses a non-standard name.
Uses a non-standard name.
Requires a vendor prefix or different name for use.
Requires a vendor prefix or different name for use.

See also