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: Methode requestWindow()

Eingeschränkt verfügbar

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

Want more browser support for this feature? Tell us why.

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

Die Methode requestWindow() der Schnittstelle DocumentPictureInPicture ö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 repräsentiert.

Die Methode requestWindow() erfordert eine transiente Aktivierung. Sie muss also als Reaktion auf eine Benutzeraktion wie einen Mausklick oder einen Tastendruck aufgerufen werden.

Syntax

js
requestWindow()
requestWindow(options)

Parameter

options Optional

Ein Optionsobjekt mit den folgenden Eigenschaften:

disallowReturnToOpener Optional

Ein boolescher Wert. Wenn er auf true gesetzt ist, signalisiert diese Option dem Browser, dass er kein Bedienelement anzeigen sollte, mit dem Benutzer zum ursprünglichen Tab zurückkehren und das Picture-in-Picture-Fenster schließen können. Der Standardwert ist false.

In der Chrome-Implementierung dieser Funktion ist das entsprechende Bedienelement beispielsweise eine Schaltfläche „Zurück zum Tab“ in der oberen Leiste des Picture-in-Picture-Fensters:

Browserfenster mit einem eingebetteten Videoplayer und mehreren Bedienelementen; die Schaltfläche „Zurück zum Tab“ in der oberen Leiste ist rot umrandet

height Optional

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

preferInitialWindowPlacement Optional

Ein boolescher Wert mit dem Standardwert false. Wenn er auf true gesetzt ist, erscheint das Picture-in-Picture-Fenster nach dem Schließen und erneuten Öffnen immer wieder an seiner ursprünglichen Position und in seiner ursprünglichen Größe. Ist preferInitialWindowPlacement dagegen false, werden Größe und Position des Picture-in-Picture-Fensters beim Schließen gespeichert. Beim erneuten Öffnen erscheint es dann beispielsweise an der zuvor vom Benutzer festgelegten Position und in der zuvor festgelegten Größe.

width Optional

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

Hinweis: Wenn height oder width angegeben wird, muss auch der jeweils andere Wert angegeben werden. Andernfalls wird ein Fehler ausgelöst. Wenn beide Werte nicht angegeben werden, beide 0 sind oder zu groß gewählt werden, begrenzt oder ignoriert der Browser die Werte nach Bedarf, um eine angemessene Benutzererfahrung zu gewährleisten. Die resultierende Größe hängt unter anderem von der Implementierung und der Bildschirmgröße ab.

Rückgabewert

Ein Promise, das mit einer Window-Objektinstanz erfüllt wird, die den Browsing-Kontext innerhalb des Picture-in-Picture-Fensters repräsentiert.

Ausnahmen

NotSupportedError DOMException

Wird ausgelöst, wenn die API ausdrücklich deaktiviert wurde (beispielsweise über die Browsereinstellungen).

NotAllowedError DOMException

Wird ausgelöst, wenn:

  • requestWindow() nicht von einem window-Objekt der obersten Ebene aus aufgerufen wird.
  • requestWindow() vom window-Objekt des Picture-in-Picture-Fensters aus aufgerufen wird (d.h. DocumentPictureInPicture.window).
  • requestWindow() ohne transiente Aktivierung aufgerufen wird.
RangeError

Wird ausgelöst, wenn nur einer der Werte height und width festgelegt ist oder wenn height und width auf negative Werte gesetzt werden.

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