--- title: ProgressEvent slug: Web/API/ProgressEvent tags: - API - 参考 - 接口 - 进度事件 translation_of: Web/API/ProgressEvent ---
ProgressEvent
接口是测量如 HTTP 请求(一个XMLHttpRequest
,或者一个 {{HTMLElement("img")}},{{HTMLElement("audio")}},{{HTMLElement("video")}},{{HTMLElement("style")}} 或 {{HTMLElement("link")}} 等底层资源的加载)等底层流程进度的事件。
{{InheritanceDiagram}}
ProgressEvent
事件。同时继承它的父元素 {{domxref("Event")}} 的属性。
unsigned long long
类型数据,表示底层流程已经执行的工作总量。可以用这个属性和 ProgressEvent.total
计算工作完成比例。当使用 HTTP 下载资源,它只表示内容本身的部分,不包括首部和其它开销。unsigned long long
类型数据,表示正在执行的底层流程的工作总量。当使用 HTTP 下载资源,它只表示内容本身的部分,不包括首部和其它开销。同时继承它的父元素 {{domxref("Event")}} 的方法。
ProgressEvent
。下面的示例为一个新建的 {{domxref("XMLHTTPRequest")}} 添加了一个 ProgressEvent
,并使用它来显示请求状态。
var progressBar = document.getElementById("p"), client = new XMLHttpRequest() client.open("GET", "magical-unicorns") client.onprogress = function(pe) { if(pe.lengthComputable) { progressBar.max = pe.total progressBar.value = pe.loaded } } client.onloadend = function(pe) { progressBar.value = pe.loaded } client.send()
规范 | 状态 | 注解 |
---|---|---|
{{SpecName('XMLHttpRequest', '#interface-progressevent', 'ProgressEvent')}} | {{Spec2('XMLHttpRequest')}} |
{{Compat("api.ProgressEvent")}}