HTMLMediaElement: load() 方法

Baseline 已广泛支持

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

HTMLMediaElementload() 方法会将媒体元素重置到初始状态,并开始选择媒体源并加载媒体的过程,以便从开头开始播放。

预取的媒体数据量由元素的 preload 属性的值决定。

此方法通常仅在您对媒体元素的可用源集进行了动态更改时才有用,这些更改可能是通过更改元素的 src 属性或添加或删除嵌套在媒体元素本身中的 <source> 元素来完成的。load() 会重置元素并重新扫描可用的源,从而使更改生效。

语法

js
load()

参数

无。

返回值

无(undefined)。

用法说明

调用 load() 会中止与此媒体元素相关的所有正在进行的操作,然后根据 <audio><video> 元素及其 src 属性或子 <source> 元素中指定的选项,开始选择和加载合适的媒体资源的过程。这在 HTML 视频和音频页面中有更详细的描述。

中止任何正在进行的活动的过程将导致由 play() 返回的所有待定 Promise 根据其在加载新媒体开始之前的状态被相应地fulfilled 或 rejected。待定的 play Promise 会被一个 "AbortError" DOMException 中止。

随着加载过程的进行,将向媒体元素本身发送适当的事件。

  • 如果元素已在加载媒体的过程中,则该加载过程将被中止,并发送 abort 事件。
  • 如果元素已与媒体初始化,则会发送 emptied 事件。
  • 如果将播放位置重置到媒体的开头确实改变了播放位置(即,它尚未位于开头),则会发送 timeupdate 事件。
  • 一旦选择了媒体并且已准备好开始加载,就会分发 loadstart 事件。
  • 从这一点开始,事件的发送方式与任何媒体加载一样。

示例

此示例在文档中查找一个 <video> 元素,并通过调用 load() 来重置它。

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

规范

规范
HTML
# dom-media-load-dev

浏览器兼容性