Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

DocumentPictureInPicture: requestWindow() Methode

Eingeschränkt verfügbar

Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.

Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.

Die requestWindow() Methode des DocumentPictureInPicture Interfaces öffnet das Picture-in-Picture-Fenster für den aktuellen Haupt-Browsing-Kontext. Sie gibt ein Promise zurück, das mit einer Window Instanz erfüllt wird, die den Browsing-Kontext innerhalb des Picture-in-Picture-Fensters darstellt.

Die requestWindow() Methode erfordert transiente Aktivierung, d.h. sie muss als Reaktion auf eine Benutzeraktion wie einen Mausklick oder einen Tastendruck aufgerufen werden.

Syntax

js
requestWindow()
requestWindow(options)

Parameter

options Optional

Ein Optionsobjekt, das die folgenden Eigenschaften enthält:

disallowReturnToOpener Optional

Ein boolescher Wert. Wenn auf true gesetzt, weist diese Option den Browser an, kein UI-Steuerelement anzuzeigen, das dem Benutzer erlaubt, in den ursprünglichen Tab zurückzukehren und das Picture-in-Picture-Fenster zu schließen. Standardwert ist false.

Zum Beispiel ist in der Chrome-Implementierung dieser Funktion das bereitgestellte UI-Steuerelement eine "Zurück zum Tab"-Schaltfläche in der oberen Leiste des Picture-in-Picture-Fensters:

Browserfenster mit einem eingebetteten Videoplayer und mehreren Bedienelementen, mit einer Zurück-zum-Tab-Schaltfläche in der oberen Leiste, hervorgehoben mit einem roten Kasten

height Optional

Eine nicht-negative Zahl, die die Höhe des Viewports des Picture-in-Picture-Fensters in Pixeln angibt. Standardwert ist 0.

preferInitialWindowPlacement Optional

Ein boolescher Wert, der standardmäßig false ist. Wenn auf true gesetzt, sorgt er dafür, dass das Picture-in-Picture-Fenster immer an der Position und Größe erscheint, an der es ursprünglich geöffnet wurde, wenn es geschlossen und dann wieder geöffnet wird. Im Gegensatz dazu wird, wenn preferInitialWindowPlacement false ist, die Größe und Position des Picture-in-Picture-Fensters beim Schließen und Wiederöffnen gespeichert — es wird an seiner vorherigen Position und Größe wieder geöffnet, wie z.B. vom Benutzer eingestellt.

width Optional

Eine nicht-negative Zahl, die die Breite des Viewports des Picture-in-Picture-Fensters in Pixeln angibt. Standardwert ist 0.

Hinweis: Wenn eine von height oder width angegeben ist, muss die andere ebenfalls angegeben werden, ansonsten wird ein Fehler geworfen. Wenn beide Werte nicht angegeben, als 0 angegeben oder zu groß gesetzt werden, wird der Browser die Werte anpassen oder ignorieren, um eine angemessene Benutzererfahrung zu gewährleisten. Die angepasste Größe variiert je nach Implementierung, Displaygröße und anderen Faktoren.

Rückgabewert

Ein Promise, das mit einem Window Objekt erfüllt wird, das den Browsing-Kontext innerhalb des Picture-in-Picture-Fensters darstellt.

Ausnahmen

NotSupportedError DOMException

Wird geworfen, wenn die API ausdrücklich deaktiviert wurde (zum Beispiel über die Browsereinstellungen).

NotAllowedError DOMException

Wird geworfen, wenn:

  • requestWindow() nicht von einem top-level window Objekt aus aufgerufen wird.
  • requestWindow() aus dem window Objekt des Picture-in-Picture-Fensters (d.h. DocumentPictureInPicture.window) aufgerufen wird.
  • requestWindow() ohne transiente Aktivierung aufgerufen wird.
RangeError DOMException

Wird geworfen, wenn nur eine von height und width gesetzt ist, oder wenn height und width mit negativen Werten gesetzt sind.

Beispiele

js
const videoPlayer = document.getElementById("player");

// …

// Open a Picture-in-Picture window with all options set
const pipWindow = await window.documentPictureInPicture.requestWindow({
  width: videoPlayer.clientWidth,
  height: videoPlayer.clientHeight,
  disallowReturnToOpener: true,
  preferInitialWindowPlacement: true,
});

// …

Spezifikationen

Spezifikation
Document Picture-in-Picture Specification
# dom-documentpictureinpicture-requestwindow

Browser-Kompatibilität

Siehe auch