HTMLMediaElement: canplay 事件

Baseline 已广泛支持

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

当用户代理能够播放媒体,但估计加载的数据量不足以播放到媒体结束而无需停止以进一步缓冲内容时,会触发 canplay 事件。

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

语法

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

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

oncanplay = (event) => { }

事件类型

一个通用的 Event

示例

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

使用 addEventListener()

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

video.addEventListener("canplay", (event) => {
  console.log("Video can start, but not sure it will play through.");
});

使用 oncanplay 事件处理程序属性

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

video.oncanplay = (event) => {
  console.log("Video can start, but not sure it will play through.");
};

规范

规范
HTML
# event-media-canplay
HTML
# handler-oncanplay

浏览器兼容性

另见