coderef

Window managementLimited availability

The window.getScreenDetails() method gets information about the screens on a device, which you can use to place new windows on a specific screen with window.open().

Not yet supported in all major browsers — check the table and provide a fallback.

Browser support

DesktopChrome
1–110Not supported
111+Supportedsince Mar 7, 2023
Current: 155
Edge
12–110Not supported
111+Supportedsince Mar 13, 2023
Current: 154
Firefox
✕Not supportedup to 157
Current: 157
Safari
✕Not supportedup to 27
Current: 27
MobileChrome Android
✕Not supportedup to 155
Current: 155
Firefox Android
✕Not supportedup to 157
Current: 157
Safari iOS
✕Not supportedup to 27
Current: 27

How to use

Not supported in Firefox, Safari, Chrome Android, Firefox Android, Safari iOS. Use feature detection below and provide a fallback (or a polyfill) for those browsers.

Example

Full syntax and examples are on MDN: change event.

Feature detection

JS · check before using
if ("allow" in document.createElement("iframe")) {
  // the allow attribute/property of <iframe> is supported
}

Sub-features

Support for each part of the feature (27). The overall table above shows when the whole feature works.

Sub-featureChromeEdgeFirefoxSafariChrome AndroidFirefox AndroidSafari iOS
Element.requestFullscreen.options_parameter.screen_option100100✕✕✕✕✕
Permissions.permission_window-management111111✕✕✕✕✕
Screen.change_event100100✕✕100✕✕
Screen.isExtended100100✕✕100✕✕
ScreenDetailed100100✕✕✕✕✕
ScreenDetailed.availLeft100100✕✕✕✕✕
ScreenDetailed.availTop100100✕✕✕✕✕
ScreenDetailed.devicePixelRatio100100✕✕✕✕✕
ScreenDetailed.isInternal100100✕✕✕✕✕
ScreenDetailed.isPrimary100100✕✕✕✕✕
ScreenDetailed.label100100✕✕✕✕✕
ScreenDetailed.left100100✕✕✕✕✕
ScreenDetailed.top100100✕✕✕✕✕
ScreenDetails100100✕✕✕✕✕
ScreenDetails.currentScreen100100✕✕✕✕✕
ScreenDetails.currentscreenchange_event100100✕✕✕✕✕
ScreenDetails.screens100100✕✕✕✕✕
ScreenDetails.screenschange_event100100✕✕✕✕✕
Window.getScreenDetails100100✕✕100✕✕
Window.moveTo.relative-multi-screen1001001✕1004✕
Show 7 more
Sub-featureChromeEdgeFirefoxSafariChrome AndroidFirefox AndroidSafari iOS
Window.open.relative-multi-screen1001001✕1004✕
Window.screenLeft.relative-multi-screen10010064✕10064✕
Window.screenTop.relative-multi-screen10010064✕10064✕
Window.screenX.relative-multi-screen1001001✕1004✕
Window.screenY.relative-multi-screen10010064✕10064✕
iframe.allow.window-management100100✕✕100✕✕
http.headers.Permissions-Policy.window-management100100✕✕100✕✕