Window
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.
Instance properties
This interface inherits properties from the EventTarget interface.
Note that properties which are objects (e.g., for overriding the prototype of built-in elements) are listed in a separate section below.
- Window.cachesRead only
- 
    Returns the CacheStorageobject associated with the current context. This object enables functionality such as storing assets for offline use, and generating custom responses to requests.
- Window.clientInformationRead only
- 
    An alias for Window.navigator.
- Window.closedRead only
- 
    This property indicates whether the current window is closed or not. 
- Window.consoleRead only
- 
    Returns a reference to the console object which provides access to the browser's debugging console. 
- Window.credentiallessRead only Experimental Non-standard
- 
    Returns a boolean that indicates whether the current document was loaded inside a credentialless <iframe>. See IFrame credentialless for more details.
- Window.cryptoRead only
- 
    Returns the browser crypto object. 
- Window.customElementsRead only
- 
    Returns a reference to the CustomElementRegistryobject, which can be used to register new custom elements and get information about previously registered custom elements.
- Window.devicePixelRatioRead only
- 
    Returns the ratio between physical pixels and device independent pixels in the current display. 
- Window.documentRead only
- 
    Returns a reference to the document that the window contains. 
- Window.frameElementRead only
- 
    Returns the element in which the window is embedded, or null if the window is not embedded. 
- Window.framesRead only
- 
    Returns an array of the subframes in the current window. 
- Window.fullScreenNon-standard
- 
    This property indicates whether the window is displayed in full screen or not. 
- Window.historyRead only
- 
    Returns a reference to the history object. 
- Window.indexedDBRead only
- 
    Provides a mechanism for applications to asynchronously access capabilities of indexed databases; returns an IDBFactoryobject.
- Window.innerHeightRead only
- 
    Gets the height of the content area of the browser window including, if rendered, the horizontal scrollbar. 
- Window.innerWidthRead only
- 
    Gets the width of the content area of the browser window including, if rendered, the vertical scrollbar. 
- Window.isSecureContextRead only
- 
    Returns a boolean indicating whether the current context is secure ( true) or not (false).
- Window.launchQueueRead only Experimental
- 
    When a progressive web app (PWA) is launched with a launch_handlerclient_modevalue offocus-existing,navigate-new, ornavigate-existing, thelaunchQueueprovides access to theLaunchQueueclass, which allows custom launch navigation handling to be implemented for the PWA.
- Window.lengthRead 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.locationbarRead only
- 
    Returns the locationbar object. 
- Window.localStorageRead only
- 
    Returns a reference to the local storage object used to store data that may only be accessed by the origin that created it. 
- 
    Returns the menubar object. 
- Window.mozInnerScreenXRead only Non-standard
- 
    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 mozScreenPixelsPerCSSPixelinnsIDOMWindowUtilsfor a conversion factor to adapt to screen pixels if needed.
- Window.mozInnerScreenYRead only Non-standard
- 
    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 mozScreenPixelsPerCSSPixelfor a conversion factor to adapt to screen pixels if needed.
- Window.name
- 
    Gets/sets the name of the window. 
- 
    Returns the current window's associatedNavigationobject. The entry point for theNavigation API.
- 
    Returns a reference to the navigator object. 
- Window.opener
- 
    Returns a reference to the window that opened this current window. 
- Window.originRead only
- 
    Returns the global object's origin, serialized as a string. 
- Window.outerHeightRead only
- 
    Gets the height of the outside of the browser window. 
- Window.outerWidthRead only
- 
    Gets the width of the outside of the browser window. 
- Window.pageXOffsetRead only
- 
    An alias for window.scrollX.
- Window.pageYOffsetRead only
- 
    An alias for window.scrollY.
- Window.parentRead only
- 
    Returns a reference to the parent of the current window or subframe. 
- Window.performanceRead only
- 
    Returns a Performanceobject, which includes thetimingandnavigationattributes, each of which is an object providing performance-related data. See also Using Navigation Timing for additional information and examples.
- Window.personalbarRead only
- 
    Returns the personalbar object. 
- Window.schedulerRead only
- 
    Returns the Schedulerobject associated with the current context. This is the entry point for using the Prioritized Task Scheduling API.
- Window.screenRead only
- 
    Returns a reference to the screen object associated with the window. 
- Window.screenXand- Window.screenLeftRead 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.screenYand- Window.screenTopRead 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.scrollbarsRead only
- 
    Returns the scrollbars object. 
- Window.scrollMaxXNon-standard Read only
- 
    The maximum offset that the window can be scrolled to horizontally, that is the document width minus the viewport width. 
- Window.scrollMaxYNon-standard Read only
- 
    The maximum offset that the window can be scrolled to vertically (i.e., the document height minus the viewport height). 
- Window.scrollXRead only
- 
    Returns the number of pixels that the document has already been scrolled horizontally. 
- Window.scrollYRead only
- 
    Returns the number of pixels that the document has already been scrolled vertically. 
- Window.selfRead 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.speechSynthesisRead only
- 
    Returns a SpeechSynthesisobject, which is the entry point into using Web Speech API speech synthesis functionality.
- Window.statusbarRead only
- 
    Returns the statusbar object. 
- Window.toolbarRead only
- 
    Returns the toolbar object. 
- Window.topRead only
- 
    Returns a reference to the topmost window in the window hierarchy. This property is read only. 
- Window.visualViewportRead only
- 
    Returns a VisualViewportobject which represents the visual viewport for a given window.
- Window.windowRead only
- 
    Returns a reference to the current window. 
- window[0],- window[1], etc.
- 
    Returns a reference to the windowobject in the frames. SeeWindow.framesfor more details.
Deprecated properties
- Window.defaultStatusDeprecated
- 
    Gets/sets the status bar text for the given window. 
- Window.eventDeprecated Read only
- 
    Returns the current event, which is the event currently being handled by the JavaScript code's context, or undefinedif no event is currently being handled. TheEventobject passed directly to event handlers should be used instead whenever possible.
- Window.externalDeprecated Read only
- 
    Returns an object with functions for adding external search providers to the browser. 
- Window.orientationDeprecated Read only
- 
    Returns the orientation in degrees (in 90 degree increments) of the viewport relative to the device's natural orientation. 
- Window.returnValueDeprecated
- 
    The return value to be returned to the function that called window.showModalDialog()to display the window as a modal dialog.
- 
    Returns a reference to the window object of the sidebar 
- Window.statusDeprecated
- 
    Gets/sets the text in the statusbar at the bottom of the browser. 
Instance methods
This interface inherits methods from the EventTarget interface.
- Window.addEventListener()
- 
    Register an event handler to a specific event type on the window. 
- Window.atob()
- 
    Decodes a string of data which has been encoded using base-64 encoding. 
- Window.alert()
- 
    Displays an alert dialog. 
- Window.blur()
- 
    Sets focus away from the window. 
- Window.btoa()
- 
    Creates a base-64 encoded ASCII string from a string of binary data. 
- 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.clearImmediate()
- 
    Cancels the repeated execution set using setImmediate().
- Window.clearInterval()
- 
    Cancels the repeated execution set using setInterval().
- Window.clearTimeout()
- 
    Cancels the delayed execution set using setTimeout().
- Window.close()
- 
    Closes the current window. 
- Window.confirm()
- 
    Displays a dialog with a message that the user needs to respond to. 
- Window.createImageBitmap()
- 
    Accepts a variety of different image sources, and returns a Promisewhich resolves to anImageBitmap. Optionally the source is cropped to the rectangle of pixels originating at (sx, sy) with width sw, and height sh.
- Window.dispatchEvent()
- 
    Used to trigger an event. 
- Window.dump()Non-standard
- 
    Writes a message to the console. 
- Window.fetch()
- 
    Starts the process of fetching a resource from the network. 
- Window.find()Non-standard
- 
    Searches for a given string in a window. 
- Window.focus()
- 
    Sets focus on the current window. 
- Window.getComputedStyle()
- 
    Gets computed style for the specified element. Computed style indicates the computed values of all CSS properties of the element. 
- Window.getDefaultComputedStyle()Non-standard
- 
    Gets default computed style for the specified element, ignoring author stylesheets. 
- Window.getSelection()
- 
    Returns the selection object representing the selected item(s). 
- Window.matchMedia()
- 
    Returns a MediaQueryListobject representing the specified media query string.
- 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.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.queryLocalFonts()Experimental
- 
    Returns a Promisethat fulfills with an array ofFontDataobjects representing the font faces available locally.
- Window.removeEventListener()
- 
    Removes an event listener from the window. 
- Window.reportError()
- 
    Reports an error in a script, emulating an unhandled exception. 
- 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.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()Non-standard
- 
    Scrolls the document by the given number of lines. 
- Window.scrollByPages()Non-standard
- 
    Scrolls the current document by the specified number of pages. 
- Window.scrollTo()
- 
    Scrolls to a particular set of coordinates in the document. 
- Window.setImmediate()
- 
    Executes a function after the browser has finished other heavy tasks. 
- Window.setInterval()
- 
    Schedules a function to execute every time a given number of milliseconds elapses. 
- Window.setResizable()Non-standard
- 
    Toggles a user's ability to resize a window. 
- Window.setTimeout()
- 
    Schedules a function to execute in a given amount of time. 
- Window.sizeToContent()Non-standard
- 
    Sizes the window according to its content. 
- Window.showOpenFilePicker()Experimental
- 
    Shows a file picker that allows a user to select a file or multiple files. 
- Window.showSaveFilePicker()Experimental
- 
    Shows a file picker that allows a user to save a file. 
- Window.showDirectoryPicker()Experimental
- 
    Displays a directory picker which allows the user to select a directory. 
- Window.stop()
- 
    This method stops window loading. 
- Window.updateCommands()Non-standard
- 
    Updates the state of commands of the current chrome window (UI). 
Deprecated methods
- Window.back()Non-standard Deprecated
- 
    Moves back one in the window history. This method is deprecated; you should instead use history.back().
- Window.captureEvents()Deprecated
- 
    Registers the window to capture all events of the specified type. 
- Window.forward()Non-standard Deprecated
- 
    Moves the window one document forward in the history. This method is deprecated; you should instead use history.forward().
- Window.releaseEvents()Deprecated
- 
    Releases the window from trapping events of a specific type. 
- Window.showModalDialog()Non-standard Deprecated
- 
    Displays a modal dialog. 
Events
Listen to these events using addEventListener() or by assigning an event listener to the oneventname property of this interface.
- error
- 
    Fired 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. 
- languagechange
- 
    Fired at the global scope object when the user's preferred language changes. 
- 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. 
- storage
- 
    Fired when a storage area ( localStorageorsessionStorage) has been modified in the context of another document.
Animation events
- animationcancel
- 
    Fired when an animation unexpectedly aborts. 
- animationend
- 
    Fired when an animation has completed normally. 
- animationiteration
- 
    Fired when an animation iteration has completed. 
- animationstart
- 
    Fired when an animation starts. 
Clipboard events
- copy
- 
    Fired when the user initiates a copy action through the browser's user interface. Also available via the oncopyproperty.
- cut
- 
    Fired when the user initiates a cut action through the browser's user interface. Also available via the oncutproperty.
- paste
- 
    Fired when the user initiates a paste action through the browser's user interface. Also available via the onpasteproperty.
Connection events
Focus events
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. 
- gamepaddisconnected
- 
    Fired when the browser detects that a gamepad has been disconnected. 
History events
- hashchange
- 
    Fired when the fragment identifier of the URL has changed (the part of the URL beginning with and following the #symbol).
- pagehide
- 
    Sent when the browser hides the current document while in the process of switching to displaying in its place 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. 
- 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. 
- popstate
- 
    Fired when the active history entry changes. 
Load & unload events
- beforeunload
- 
    Fired when the window, the document and its resources are about to be unloaded. 
- 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. 
- unload
- 
    Fired when the document or a child resource is being unloaded. 
Manifest events
- appinstalled
- 
    Fired when the browser has successfully installed a page as an application. 
- beforeinstallprompt
- 
    Fired when a user is about to be prompted to install a web application. 
Messaging events
- message
- 
    Fired when the window receives a message, for example from a call to Window.postMessage()from another browsing context.
- messageerror
- 
    Fired when a Windowobject receives a message that can't be deserialized.
Print events
- afterprint
- 
    Fired after the associated document has started printing or the print preview has been closed. 
- beforeprint
- 
    Fired when the associated document is about to be printed or previewed for printing. 
Promise rejection events
- rejectionhandled
- 
    Sent every time a JavaScript Promiseis rejected, regardless of whether or not there is a handler in place to catch the rejection.
- unhandledrejection
- 
    Sent when a JavaScript Promiseis rejected but there is no handler in place to catch the rejection.
Transition events
- transitioncancel
- 
    Fired when a CSS transition is canceled. 
- transitionend
- 
    Fired when a CSS transition has completed. 
- transitionrun
- 
    Fired when a CSS transition is first created. 
- transitionstart
- 
    Fired when a CSS transition has actually started. 
Deprecated events
- orientationchangeDeprecated
- 
    Fired when the orientation of the device has changed. 
- vrdisplayactivateDeprecated Non-standard
- 
    Fired when a display is able to be presented to. 
- vrdisplayconnectDeprecated Non-standard
- 
    Fired when a compatible VR device has been connected to the computer. 
- vrdisplaydisconnectDeprecated Non-standard
- 
    Fired when a compatible VR device has been disconnected from the computer. 
- vrdisplaydeactivateDeprecated Non-standard
- 
    Fired when a display can no longer be presented to. 
- vrdisplaypresentchangeDeprecated Non-standard
- 
    Fired when the presenting state of a VR device changes — i.e. goes from presenting to not presenting, or vice versa. 
Interfaces
See DOM Reference.
Specifications
| Specification | 
|---|
| HTML Standard # the-window-object | 
Browser compatibility
BCD tables only load in the browser