DocumentPictureInPictureEvent: DocumentPictureInPictureEvent() constructor

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 DocumentPictureInPictureEvent() constructor creates a new DocumentPictureInPictureEvent object instance.

Syntax

js
new DocumentPictureInPictureEvent(type, init)

Parameters

type

A string representing the type of event. In the case of DocumentPictureInPictureEvent this is always enter.

init

An object containing the following properties:

window

A Window instance representing the browsing context inside the DocumentPictureInPicture window the event was fired on.

Examples

A developer would not use this constructor manually. A new DocumentPictureInPictureEvent object is constructed when a handler is invoked as a result of the enter event firing.

js
documentPictureInPicture.addEventListener("enter", (event) => {
  const pipWindow = event.window;
  console.log("Video player has entered the pip window");

  const pipMuteButton = pipWindow.document.createElement("button");
  pipMuteButton.textContent = "Mute";
  pipMuteButton.addEventListener("click", () => {
    const pipVideo = pipWindow.document.querySelector("#video");
    if (!pipVideo.muted) {
      pipVideo.muted = true;
      pipMuteButton.textContent = "Unmute";
    } else {
      pipVideo.muted = false;
      pipMuteButton.textContent = "Mute";
    }
  });

  pipWindow.document.body.append(pipMuteButton);
});

Specifications

Specification
Document Picture-in-Picture Specification
# dom-documentpictureinpictureevent-documentpictureinpictureevent

Browser compatibility

BCD tables only load in the browser

See also