ProgressEvent

ProgressEvent interface represents events measuring progress of an underlying process, like an HTTP request (for an XMLHttpRequest , or the loading of the underlying resource of an <img> , <audio> , <video> , <style> or <link> ).

构造函数

ProgressEvent()
创建 ProgressEvent event with the given parameters.

特性

Also inherits properties from its parent Event .

ProgressEvent.lengthComputable 只读
Boolean flag indicating if the total work to be done, and the amount of work already done, by the underlying process is calculable. In other words, it tells if the progress is measurable or not.
ProgressEvent.loaded 只读
Is an unsigned long long representing the amount of work already performed by the underlying process. The ratio of work done can be calculated with the property and ProgressEvent.total . When downloading a resource using HTTP, this only represent the part of the content itself, not headers and other overhead.
ProgressEvent.total 只读
Is an unsigned long long representing the total amount of work that the underlying process is in the progress of performing. When downloading a resource using HTTP, this only represent the content itself, not headers and other overhead.

方法

Also inherits methods from its parent Event .

ProgressEvent.initProgressEvent()
Initializes a ProgressEvent created using the deprecated Document.createEvent("ProgressEvent") 方法。

范例

The following example adds a ProgressEvent to a new XMLHTTPRequest and uses it to display the status of the request.

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()
					

规范

规范 状态 Comment
XMLHttpRequest
The definition of 'ProgressEvent' in that specification.
实时标准

浏览器兼容性

更新 GitHub 上的兼容性数据
Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet
ProgressEvent Chrome 1 Edge 12 Firefox 3.5 IE 10 Opera Yes Safari Yes WebView Android Yes Chrome Android Yes Firefox Android 4 Opera Android Yes Safari iOS Yes Samsung Internet Android Yes
ProgressEvent() 构造函数 Chrome Yes Edge ≤79 Firefox 22 IE No Opera Yes Safari Yes WebView Android Yes Chrome Android Yes Firefox Android 22 Opera Android Yes Safari iOS Yes Samsung Internet Android Yes
initProgressEvent
弃用 非标
Chrome 1 — 17 Edge 12 — 79 Firefox 3.5 — 22 IE 10 Opera ? — 15 Safari ? — ? WebView Android No Chrome Android ? — ? Firefox Android 4 — 22 Opera Android ? — 14 Safari iOS ? — ? Samsung Internet Android No
lengthComputable Chrome 50 Edge 12 Firefox 3.5 IE Yes Opera 37 Safari 3.1 WebView Android 50 Chrome Android 50 Firefox Android 4 Opera Android 37 Safari iOS 2 Samsung Internet Android 5.0
loaded Chrome Yes Edge 12 Firefox 3.5 IE No Opera Yes Safari Yes WebView Android Yes Chrome Android Yes Firefox Android 4 Opera Android Yes Safari iOS Yes Samsung Internet Android Yes
total Chrome Yes Edge 12 Firefox 3.5 IE No Opera Yes Safari Yes WebView Android Yes Chrome Android Yes Firefox Android 4 Opera Android Yes Safari iOS Yes Samsung Internet Android Yes

图例

完整支持
完整支持
不支持
不支持
非标。预期跨浏览器支持较差。
非标。预期跨浏览器支持较差。
弃用。不要用于新网站。
弃用。不要用于新网站。

另请参阅