HTMLMediaElement: suspend 事件

Baseline 已广泛支持

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2015 年 7 月⁩以来,各浏览器均已提供此特性。

当用户代理(User Agent)有意不获取媒体数据时,会触发 suspend 事件。在这种情况下,HTMLMediaElement.networkState 会被设置为 HTMLMediaElement.NETWORK_IDLE。这可能发生在没有更多数据需要加载时,或者加载是不必要的时候;例如,浏览器可能会决定只预先缓冲 5 分钟的视频,在这种情况下,加载将暂停,直到用户观看更多视频。

此事件不可取消,也不会冒泡。

语法

在诸如 addEventListener() 之类的方法中使用事件名称,或设置事件处理程序属性。

js
addEventListener("suspend", (event) => { })

onsuspend = (event) => { }

事件类型

一个通用的 Event

示例

这些示例添加了一个 HTMLMediaElement 的 suspend 事件的事件监听器,然后在该事件处理程序响应事件触发后发送一条消息。

使用 addEventListener()

js
const video = document.querySelector("video");

video.addEventListener("suspend", (event) => {
  console.log("Data loading has been suspended.");
});

使用 onsuspend 事件处理程序属性

js
const video = document.querySelector("video");

video.onsuspend = (event) => {
  console.log("Data loading has been suspended.");
};

规范

规范
HTML
# event-media-suspend
HTML
# handler-onsuspend

浏览器兼容性

另见