← 返回首页
HTMLMediaElement: progress event - Web APIs | MDN

HTMLMediaElement: progress event

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

The progress event is fired periodically as the browser loads a resource.

This event is not cancelable and does not bubble.

In this article

Syntax

Use the event name in methods like addEventListener(), or set an event handler property.

js
addEventListener("progress", (event) => { }) onprogress = (event) => { }

Event type

A generic Event.

Examples

Live example

HTML

html
<div class="example"> <button type="button">Load video</button> <video controls width="250"></video> <div class="event-log"> <label for="eventLog">Event log:</label> <textarea readonly class="event-log-contents" id="eventLog"></textarea> </div> </div>
.event-log-contents { width: 18rem; height: 5rem; border: 1px solid black; margin: 0.2rem; padding: 0.2rem; } .example { display: grid; grid-template-areas: "button log" "video log"; } button { grid-area: button; width: 10rem; margin: 0.5rem 0; } video { grid-area: video; } .event-log { grid-area: log; } .event-log > label { display: block; }

JavaScript

js
const loadVideo = document.querySelector("button"); const video = document.querySelector("video"); const eventLog = document.querySelector(".event-log-contents"); let source = null; function handleEvent(event) { eventLog.textContent += `${event.type}\n`; } video.addEventListener("loadstart", handleEvent); video.addEventListener("progress", handleEvent); video.addEventListener("canplay", handleEvent); video.addEventListener("canplaythrough", handleEvent); loadVideo.addEventListener("click", () => { if (source) { document.location.reload(); } else { loadVideo.textContent = "Reset example"; source = document.createElement("source"); source.setAttribute( "src", "https://mdn.github.io/learning-area/html/multimedia-and-embedding/video-and-audio-content/rabbit320.mp4", ); source.setAttribute("type", "video/mp4"); video.appendChild(source); } });

Result

Specifications

Specification
HTML
# event-media-progress
HTML
# handler-onprogress

Browser compatibility

Enable JavaScript to view this browser compatibility table.

See also