ScreenDetails
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig, bevor Sie diese produktiv verwenden.
Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.
Die ScreenDetails
-Schnittstelle der Window Management API repräsentiert die Details aller Bildschirme, die dem Gerät des Benutzers zur Verfügung stehen.
Diese Informationen sind über die Window.getScreenDetails()
-Methode zugänglich.
Note:
ScreenDetails
ist ein Live-Objekt, das sich aktualisiert, wenn sich die verfügbaren Bildschirme ändern. Sie können daher dasselbe Objekt weiterhin abfragen, um aktualisierte Werte zu erhalten, anstattgetScreenDetails()
wiederholt aufzurufen.
Instanz-Eigenschaften
Erbt Eigenschaften von seinem Elternteil, EventTarget
.
currentScreen
Nur lesbar Experimentell-
Ein einzelnes
ScreenDetailed
-Objekt, das detaillierte Informationen über den Bildschirm repräsentiert, auf dem das aktuelle Browserfenster angezeigt wird. screens
Nur lesbar Experimentell-
Ein Array von
ScreenDetailed
-Objekten, von denen jedes detaillierte Informationen über einen bestimmten Bildschirm enthält, der dem Gerät des Benutzers zur Verfügung steht.Note:
screens
umfasst nur "erweiterte" Anzeigen, nicht die, die eine andere Anzeige spiegeln.
Ereignisse
currentscreenchange
Experimentell-
Wird ausgelöst, wenn der aktuelle Bildschirm des Fensters sich in irgendeiner Weise ändert — beispielsweise die verfügbare Breite oder Höhe oder die Ausrichtung.
screenschange
Experimentell-
Wird ausgelöst, wenn Bildschirme mit dem System verbunden oder davon getrennt werden.
Beispiele
Hinweis: Sehen Sie sich das Multi-window learning environment für ein vollständiges Beispiel an (sehen Sie auch den Quellcode).
Grundlegender Zugriff auf Bildschirminformationen
Wenn Window.getScreenDetails()
aufgerufen wird, wird der Benutzer um Erlaubnis gebeten, Fenster auf allen seinen Anzeigen zu verwalten (der Status dieser Erlaubnis kann mit Permissions.query()
abgefragt werden, um window-management
zu prüfen). Wenn der Benutzer die Erlaubnis erteilt, wird ein ScreenDetails
-Objekt zurückgegeben. Dieses Objekt enthält Details aller Bildschirme, die dem System des Benutzers zur Verfügung stehen.
Das untenstehende Beispiel öffnet ein Fenster in voller Größe auf jedem verfügbaren Display.
const screenDetails = await window.getScreenDetails();
// Open a window on each screen of the device
for (const screen of screenDetails.screens) {
openWindow(
screen.availLeft,
screen.availTop,
screen.availWidth,
screen.availHeight,
url,
);
}
Reaktion auf Änderungen verfügbarer Bildschirme
Sie könnten das screenschange
-Ereignis verwenden, um zu erkennen, wann sich die verfügbaren Bildschirme geändert haben (vielleicht wenn ein Bildschirm angeschlossen oder entfernt wird), die Änderung zu melden und die Fensteranordnung an die neue Konfiguration anzupassen:
const screenDetails = await window.getScreenDetails();
// Return the number of screens
let noOfScreens = screenDetails.screens.length;
screenDetails.addEventListener("screenschange", () => {
// If the new number of screens is different to the old number of screens,
// report the difference
if (screenDetails.screens.length !== noOfScreens) {
console.log(
`The screen count changed from ${noOfScreens} to ${screenDetails.screens.length}`,
);
// Update noOfScreens value
noOfScreens = screenDetails.screens.length;
}
// Open, close, or rearrange windows as needed,
// to fit the new screen configuration
updateWindows();
});
Spezifikationen
Specification |
---|
Window Management # api-screendetails-interface |
Browser-Kompatibilität
BCD tables only load in the browser