MDN wants to talk to developers like you: https://qsurvey.mozilla.com/s3/8d22564490d8

Interact with browser windows. You can use this API to get information about open windows and to open, modify, and close windows. You can also listen for window open, close, and activate events.

Types

windows.WindowType
The type of browser window this is.
windows.WindowState
The state of this browser window.
windows.Window
Contains information about a browser window.
windows.CreateType
Specifies the type of browser window to create.

Properties

windows.WINDOW_ID_NONE
The windowId value that represents the absence of a browser window.
windows.WINDOW_ID_CURRENT
The windowId value that represents the current window.

Functions

windows.get()
Gets details about a window, given its ID.
windows.getCurrent()
Gets the current window.
windows.getLastFocused()
Gets the window that was most recently focused — typically the window 'on top'.
windows.getAll()
Gets all windows.
windows.create()

Creates a new window.

windows.update()
Updates the properties of a window. Use this to move, resize, and (un)focus a window, etc.
windows.remove()
Closes a window, and all its tabs.

Events

windows.onCreated
Fired when a window is created.
windows.onRemoved
Fired when a window is closed.
windows.onFocusChanged
Fired when the currently focused window changes.

Browser compatibility

ChromeEdgeFirefoxFirefox for AndroidOpera
CreateTypeYesYes45.0No33
WINDOW_ID_CURRENTYesYes45.0No33
WINDOW_ID_NONEYesYes45.0No33
WindowYesYes *45.0No33
WindowStateYesYes45.0No33
WindowTypeYesYes45.0No33
createYesYes45.0 *No33
getYesYes45.0No33
getAllYesYes45.0No33
getCurrentYesYes45.0No33
getLastFocusedYesYes45.0No33
onCreatedYesYes45.0No33
onFocusChangedYesYes45.0No33
onRemovedYesNo45.0No33
removeYesNo45.0No33
updateYesYes45.0No33

Edge incompatibilities

Promises are not supported in Edge. Use callbacks instead.

Chrome incompatibilities

windows

  • In Firefox onFocusChanged will trigger multiple times for a given focus change.

Example add-ons

Acknowledgements

This API is based on Chromium's chrome.windows API. This documentation is derived from windows.json in the Chromium code.

Microsoft Edge compatibility data is supplied by Microsoft Corporation and is included here under the Creative Commons Attribution 3.0 United States License.

Document Tags and Contributors

 Contributors to this page: abbycar, chrisdavidmills, wbamberg, bsilverberg
 Last updated by: abbycar,