files/en-us/web/api/window/getscreendetails/index.md
{{APIRef("Window Management API")}}{{SeeCompatTable}}{{securecontext_header}}
The getScreenDetails() method of the
{{domxref("Window")}} interface returns a {{jsxref("Promise")}} that fulfills with a {{domxref("ScreenDetails")}} object instance representing the details of all the screens available to the user's device.
getScreenDetails()
None.
A {{jsxref("Promise")}} that fulfills with a {{domxref("ScreenDetails")}} object instance.
NotAllowedError {{domxref("DOMException")}}
When getScreenDetails() is invoked, the user will be asked for permission to manage windows on all their displays (the status of this permission can be checked using {{domxref("Permissions.query()")}} to query window-management). Provided they grant permission, the resulting {{domxref("ScreenDetails")}} object contains details of all the screens available to the user's system.
The below example opens a full-size window on each available display.
const screenDetails = await window.getScreenDetails();
// Open a full-size window on each screen available to the device
for (const screen of screenDetails.screens) {
window.open(
"https://example.com",
"_blank",
`left=${screen.availLeft},
top=${screen.availTop},
width=${screen.availWidth},
height=${screen.availHeight}`,
);
}
[!NOTE] See Multi-window learning environment for a full example (see the source code also).
{{Specifications}}
{{Compat}}