files/en-us/web/api/htmlmediaelement/load/index.md
{{APIRef("HTML DOM")}}
The {{domxref("HTMLMediaElement")}} method
load() resets the media element to its initial state and
begins the process of selecting a media source and loading the media in preparation
for playback to begin at the beginning.
The amount of media data that is
prefetched is determined by the value of the element's preload attribute.
This method is generally only useful when you've made dynamic changes to the set of
sources available for the media element, either by changing the element's
src attribute or by adding or removing
{{HTMLElement("source")}} elements nested within the media element itself.
load() will reset the element and rescan the available sources, thereby
causing the changes to take effect.
load()
None.
None ({{jsxref("undefined")}}).
Calling load() aborts all ongoing operations involving this media element,
then begins the process of selecting and loading an appropriate media resource given the
options specified in the {{HTMLElement("audio")}} or {{HTMLElement("video")}} element
and its src attribute or child {{HTMLElement("source")}}
element(s). This is described in more detail in the
HTML video and audio page.
The process of aborting any ongoing activities will cause any outstanding
{{jsxref("Promise")}}s returned by {{domxref("HTMLMediaElement.play", "play()")}} being
fulfilled or rejected as appropriate based on their status before the loading of new
media can begin. Pending play promises are aborted with an "AbortError"
{{domxref("DOMException")}}.
Appropriate events will be sent to the media element itself as the load process proceeds:
This example finds a {{HTMLElement("video")}} element in the document and resets it by
calling load().
const mediaElem = document.querySelector("video");
mediaElem.load();
{{Specifications}}
{{Compat}}