HTMLVideoElement: requestPictureInPicture() Methode
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Die HTMLVideoElement
-Methode
requestPictureInPicture()
stellt eine asynchrone Anfrage, um das Video im Bild-in-Bild-Modus anzuzeigen.
Es ist nicht garantiert, dass das Video in den Bild-in-Bild-Modus gesetzt wird. Wenn die Berechtigung
für diesen Modus erteilt wird, wird das zurückgegebene Promise
aufgelöst und das
Video erhält ein enterpictureinpicture
-Ereignis, um anzuzeigen, dass es sich jetzt im Bild-in-Bild-Modus befindet.
Syntax
requestPictureInPicture()
Parameter
Keine.
Rückgabewert
Ein Promise
, das auf ein PictureInPictureWindow
-Objekt aufgelöst wird, das verwendet werden kann, um zu hören, wann ein Benutzer dieses schwebende Fenster vergrößert oder verkleinert.
Ausnahmen
NotSupportedError
DOMException
-
Ausgelöst, wenn die Funktion nicht unterstützt wird (zum Beispiel, wenn sie durch eine Benutzereinstellung oder durch eine Plattformbeschränkung deaktiviert ist).
SecurityError
DOMException
-
Ausgelöst, wenn die Funktion durch eine Permissions Policy blockiert wird.
InvalidStateError
DOMException
-
Ausgelöst, wenn der
readState
des VideoelementsHAVE_NOTHING
ist, oder wenn das Videoelement keine Videospur hat, oder wenn dasdisablePictureInPicture
-Attribut des Videoelementstrue
ist. NotAllowedError
DOMException
-
Ausgelöst, wenn
document.pictureInPictureElement
null
ist und das Dokument keine transiente Aktivierung hat.
Sicherheit
Transiente Benutzeraktivierung ist erforderlich. Der Benutzer muss mit der Seite oder einem UI-Element interagieren, damit diese Funktion funktioniert.
Beispiele
Dieses Beispiel fordert an, dass das Video in den Bild-in-Bild-Modus wechselt, und setzt einen Ereignislistener, um die Größenänderung des schwebenden Fensters zu handhaben.
function enterPictureInPicture() {
videoElement.requestPictureInPicture().then((pictureInPictureWindow) => {
pictureInPictureWindow.addEventListener(
"resize",
() => onPipWindowResize(),
false,
);
});
}
Spezifikationen
Specification |
---|
Picture-in-Picture # request-pip |