XMLHttpRequestUpload: loadend 事件
基线 广泛可用
此功能已得到良好建立,并在许多设备和浏览器版本上运行。它自 2015 年 7 月.
报告反馈
注意: 此功能在 Web Workers 中可用,但 Service Workers 除外。
loadend
事件在请求完成时触发,无论成功(在 load
之后)还是不成功(在 abort
或 error
之后)。
语法
当请求被中断时(通过 timeout
、abort
或 error
)也会发送 loadend
事件。在这种情况下,事件的 loaded
和 total
值都将为 0。
在诸如
addEventListener()
之类的 方法中使用事件名称,或设置事件处理程序属性。addEventListener("loadend", (event) => {});
onloadend = (event) => {};
事件类型
js
事件属性
一个 ProgressEvent
。继承自 Event
。
示例
使用 loadend
事件
一个 64 位无符号整数,表示基础进程正在执行的总工作量。当使用 HTTP 下载资源时,这是 Content-Length
(消息正文的大小),不包括标题和其他开销。
在诸如
addEventListener()
之类的 方法中使用事件名称,或设置事件处理程序属性。// When the upload is finished, we hide the progress bar.
xhr.upload.addEventListener("loadend", (event) => {
progressBar.classList.remove("visible");
if (event.loaded !== 0) {
// Successful termination
log.textContent = "Upload finished.";
}
abortButton.disabled = true;
});
规范
您可以使用 loadend 事件来检测上传的(成功或不成功)终止。有关上传文件并显示进度条的完整代码示例,请参见主 XMLHttpRequestUpload 页面。 |
---|
规范 # XMLHttpRequest 标准 |
规范 # event-xhr-loadend |
浏览器兼容性
handler-xhr-onloadend