ProgressEvent

这个 ProgressEvent 接口用来表示测量底层操作一个HTTP请求的进度(例如:一个 XMLHttpRequest、一个底层资源像 <img>, <audio>, <video>, <style> or <link>).

Constructor

ProgressEvent()
用给定的参数创造一个ProgressEvent

Properties

同时继承它的父元素 Event 的属性。

ProgressEvent.lengthComputable 只读
它是一个布尔值标识,表明总共需要完成的工作量和已经完成的工作是否可以被底层所计算到。换而言之,它表示的就是过程是否是可以测量的。
ProgressEvent.loaded 只读
是一个unsigned long long类型,表示底层进程已经执行的工作量。所做的工作比率可以用属性和ProgressEvent.total计算。当使用HTTP下载资源时,这只表示内容本身的一部分,而不是头和其他开销。
ProgressEvent.total 只读
是unsigned long long类型,表示底层进程正在执行的工作总量。当使用HTTP下载资源时,这只表示内容本身,而不是头和其他开销。

Methods

同时继承它的父元素 Event 的方法。

ProgressEvent.initProgressEvent()
使用已经被弃用的 Document.createEvent("ProgressEvent") 方法,初始化一个已经创建好的ProgressEvent。

Examples

下面的例子向一个新的 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()

Specifications

Specification Status Comment
Progress Events
ProgressEvent
Recommendation Initial definition.

Browser compatibility

Feature Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari
Basic support 1.0 (Yes) 3.5 (1.9.1) 10.0 (Yes) (Yes)
initProgressEvent() 未实现[1] ? 未实现[2] 10.0 未实现[4] 未实现[3]
Feature Android Android Webview Edge Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile Chrome for Android
Basic support (Yes) (Yes) (Yes) 1.0 (1.9.1) 10.0 (Yes) (Yes) (Yes)
initProgressEvent() 未实现[3] 未实现 ? 未实现[2] 10.0 未实现[4] 未实现[3] 未实现

[1] This feature was implemented in Chrome 1.0, but removed in Chrome 17.0.

[2] This feature was implemented in Gecko 1.9.1 (Firefox 3.5 / Thunderbird 3.0 / SeaMonkey 2.0), but removed in Gecko 22 (Firefox 22 / Thunderbird 22 / SeaMonkey 2.19).

[3] This feature was removed at some point.

[4] This feature was removed in Opera 15.0.

See also

  • The Event base interface.

文档标签和贡献者