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.
On this page
windows
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.
Constants
-
windows.WINDOW_ID_NONE
-
The
windowId
value that represents the absence of a browser window. -
windows.WINDOW_ID_CURRENT
-
A value that can be used in place of a
windowId
in some APIs to represent the current window.
Methods
-
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
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | |
CreateType |
Yesdetached_panel is not supported.
|
14panel and detached_panel are not supported.
|
45 | ? |
Yesdetached_panel is not supported.
|
14panel and detached_panel are not supported.
|
? | ? | No | ? |
15panel and detached_panel are not supported.
|
? |
WINDOW_ID_CURRENT |
18 | 14 | 45 | ? | 15 | 14 | ? | ? | No | ? | 15 | ? |
WINDOW_ID_NONE |
Yes | 14 | 45 | ? | Yes | 14 | ? | ? | No | ? | 15 | ? |
Window |
Yes | 14 | 45 | ? | Yes | 14 | ? | ? | No | ? | 15 | ? |
WindowState |
Yes | 14 | 45 | ? | Yes | 14 | ? | ? | No | ? | No | ? |
WindowType |
Yes | 14 | 45 | ? | Yes | 14 | ? | ? | No | ? | 15 | ? |
create |
Yes | 14 |
45["'url' and 'tabId options can't both be set together.", "The returned 'Window' object contains the 'tabs' property only from version 52 onwards.", "From Firefox 86, thefocused: false option is ignored."]
|
? | Yes | 14 | ? | ? | No | ? | No | ? |
get |
Yes | 14 | 45 | ? | Yes | 14 | ? | ? | No | ? | 15 | ? |
getAll |
Yes | 14 | 45 | ? | Yes | 14 | ? | ? | No | ? | 15 | ? |
getCurrent |
Yes | 14 | 45 | ? | Yes | 14 | ? | ? | No | ? | 15 | ? |
getLastFocused |
Yes | 14 | 45 | ? | Yes | 14 | ? | ? | No | ? | 15 | ? |
onCreated |
Yes | 14 | 45 | ? | Yes | 14 | ? | ? | No | ? |
15Fires a pair of events: one for private browsing, one for regular browsing. |
? |
onFocusChanged |
Yes | 14 | 45 | ? | Yes | 14 | ? | ? | No | ? |
15Fires when toggling in or out of private browsing mode, leaving Safari to the home screen, and returning to Safari from the home screen. |
? |
onRemoved |
Yes | 79 | 45 | ? | Yes | 14 | ? | ? | No | ? | No | ? |
remove |
Yes | 79 | 45 | ? | Yes | 14 | ? | ? | No | ? | No | ? |
update |
Yes | 14 | 45 | ? | Yes | 14 | ? | ? | No | ? | 15 | ? |
Example extensions
- annotate-page
- bookmark-it
- private-browsing-theme
- store-collected-images
- theme-integrated-sidebar
- window-manipulator
Note: This API is based on Chromium's chrome.windows
API. This documentation is derived from windows.json
in the Chromium code.
© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/windows