DocumentPictureInPicture

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

The DocumentPictureInPicture interface of the Document Picture-in-Picture API is the entry point for creating and handling document picture-in-picture windows.

It is accessed via the Window.documentPictureInPicture property.

EventTarget DocumentPictureInPicture

Instance properties

Inherits properties from its parent, EventTarget.

window Read only Experimental

Returns a Window instance representing the browsing context inside the Picture-in-Picture window.

Instance methods

Inherits methods from its parent, EventTarget.

requestWindow() Experimental

Opens the Picture-in-Picture window for the current main browsing context. Returns a Promise that fulfills with a Window instance representing the browsing context inside the Picture-in-Picture window.

Events

Inherits events from its parent, EventTarget.

enter Experimental

Fired when the Picture-in-Picture window is successfully opened.

Examples

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

// ...

// Open a Picture-in-Picture window.
const pipWindow = await window.documentPictureInPicture.requestWindow({
  width: videoPlayer.clientWidth,
  height: videoPlayer.clientHeight,
});

// ...

See Document Picture-in-Picture API Example for a full working demo (see the full source code also).

Specifications

Specification
Document Picture-in-Picture
# documentpictureinpicture

Browser compatibility

BCD tables only load in the browser

See also