Window Management API

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 vor der Verwendung auf produktiven Webseiten.

Die Fensterverwaltung-API ermöglicht es Ihnen, detaillierte Informationen über die an Ihr Gerät angeschlossenen Bildschirme zu erhalten und Fenster einfacher auf bestimmten Bildschirmen zu platzieren. Dies ebnet den Weg für effektivere Mehrbildschirm-Anwendungen.

Konzepte und Nutzung

Historisch haben wir Window.open() verwendet, um Browserfenster zu verwalten, die zur aktuellen Anwendung gehören — zum Beispiel, um neue Fenster zu öffnen, bestehende Fenster zu verkleinern und zu schließen usw. Um beispielsweise ein 400×300 Fenster 50 Pixel vom linken und oberen Rand Ihres Bildschirms zu öffnen:

js
const myWindow = window.open(
  "https://example.com/",
  "myWindow",
  "left=50,top=50,width=400,height=300",
);

Sie können Informationen über Ihren Bildschirm von der Window.screen Eigenschaft abrufen, wie zum Beispiel, wie viel Bildschirmfläche Sie zur Verfügung haben, um Fenster darin zu platzieren.

Jedoch sind die obigen Funktionen limitiert. Window.screen gibt nur Daten über den primären Bildschirm zurück und nicht über sekundäre Bildschirme, die für ein Gerät verfügbar sind. Um ein Fenster auf einen sekundären Bildschirm zu verschieben, könnten Sie Window.moveTo() verwenden, aber Sie müssten raten, welche Koordinaten Sie basierend darauf verwenden, wo es in Ihrem Setup im Verhältnis zum primären Bildschirm platziert ist.

Die Fensterverwaltung-API bietet eine robustere, flexiblere Fenstermanagement. Es ermöglicht es Ihnen, abzufragen, ob Ihr Display mit mehreren Bildschirmen erweitert ist, und Informationen zu jedem Bildschirm separat zu erhalten: Fenster können dann nach Belieben auf jedem Bildschirm platziert werden. Sie bietet auch Ereignishandler, die es Ihnen ermöglichen, auf Änderungen der verfügbaren Bildschirme zu reagieren, neue Vollbildfunktionen, um auszuwählen, welchen Bildschirm Sie im Vollbildmodus anzeigen möchten (falls vorhanden), und Berechtigungsfunktionen, um den Zugriff auf die API zu kontrollieren.

Für Details zur Anwendung, siehe Verwendung der Fensterverwaltung-API.

Hinweis: In modernen Browsern ist für jeden Window.open()-Aufruf ein separates Benutzerinteraktionsereignis erforderlich, aus Sicherheitsgründen. Dies verhindert, dass Websites Benutzer mit vielen Fenstern bombardieren. Dies stellt jedoch ein Problem für Mehrfenster-Anwendungen dar. Um diese Einschränkung zu umgehen, können Sie Ihre Anwendungen so gestalten, dass sie nicht mehr als ein neues Fenster gleichzeitig öffnen, bestehende Fenster wiederverwenden, um verschiedene Seiten anzuzeigen, oder Benutzer beraten, wie sie ihre Browsereinstellungen aktualisieren können, um mehrere Fenster zuzulassen.

Anwendungsfälle

Die Fensterverwaltung-API ist nützlich in Fällen wie:

  • Mehrfenster-Grafikeditoren und Audiobearbeitungsprogramme, die Bearbeitungswerkzeuge und -fenster über verschiedene Bildschirme hinweg anordnen möchten.
  • Virtuelle Handelsplätze, die Markttrends in mehreren Fenstern anzeigen wollen und bestimmte interessante Fenster im Vollbildmodus darstellen möchten.
  • Präsentationsanwendungen, die Rednernotizen auf dem internen primären Bildschirm und die Präsentation auf einem externen Projektor anzeigen möchten.

Integration der Berechtigungsrichtlinie

Die window-management Permissions-Policy kann verwendet werden, um die Berechtigung zur Nutzung der Fensterverwaltung-API zu steuern. Insbesondere:

Entwickler können die Berechtigung für ein <iframe> explizit gewähren, um die Fensterverwaltung über das allow-Attribut zu nutzen:

html
<iframe src="3rd-party.example" allow="window-management"></iframe>

Schnittstellen

ScreenDetails Sicherer Kontext

Stellt die Details aller Bildschirme bereit, die dem Gerät des Benutzers zur Verfügung stehen.

ScreenDetailed Sicherer Kontext

Stellt detaillierte Informationen über einen bestimmten Bildschirm bereit, der dem Gerät des Benutzers zur Verfügung steht.

Erweiterungen zu anderen Schnittstellen

Das Screen change Ereignis Sicherer Kontext

Wird für einen bestimmten Bildschirm ausgelöst, wenn sich dieser in irgendeiner Weise ändert — beispielsweise in der verfügbaren Breite oder Höhe oder im Seitenverhältnis.

Screen.isExtended Sicherer Kontext

Eine boolesche Eigenschaft, die true zurückgibt, wenn das Gerät des Benutzers mehrere Bildschirme hat, und false, wenn nicht.

Element.requestFullscreen(), die screen Option

Gibt an, auf welchem Bildschirm Sie das Element im Vollbildmodus anzeigen möchten.

Window.getScreenDetails() Sicherer Kontext

Gibt eine Promise zurück, die mit einem ScreenDetails Objektinstanz erfüllt wird.

Beispiele

Spezifikationen

Specification
Window Management

Browser-Kompatibilität

BCD tables only load in the browser