DocumentPictureInPictureEvent:DocumentPictureInPictureEvent() 构造函数

Limited availability

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

实验性: 这是一项实验性技术
在将其用于生产之前,请仔细检查浏览器兼容性表格

安全上下文: 此项功能仅在一些支持的浏览器安全上下文(HTTPS)中可用。

DocumentPictureInPictureEvent() 构造函数创建一个新的 DocumentPictureInPictureEvent 对象实例。

语法

js
new DocumentPictureInPictureEvent(type, init)

参数

type

一个表示事件类型的字符串。在 DocumentPictureInPictureEvent 的情况下,这始终是 enter

init

一个包含以下属性的对象:

window

一个 Window 实例,表示事件触发时的 DocumentPictureInPicture 窗口中的浏览上下文。

示例

开发者通常不会手动使用此构造函数。当由于触发 enter 事件而调用处理器时,会自动构造一个新的 DocumentPictureInPictureEvent 对象。

js
documentPictureInPicture.addEventListener("enter", (event) => {
  const pipWindow = event.window;
  console.log("视频播放器已进入画中画窗口");

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

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

规范

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

浏览器兼容性

BCD tables only load in the browser

参见