XMLHttpRequestUpload: событие loadend
Базовая поддержка Широко распространена
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с июля 2015 года.
Примечание: Данная функция доступна в рабочих потоках, за исключением сервисных рабочих потоков.
Событие loadend срабатывает при завершении запроса, успешно (после load) или безуспешно (после abort или error).
Событие loadend также отправляется, когда запрос был прерван (из-за timeout, abort или error). В таких случаях значения loaded и total события будут равны 0.
Синтаксис
Используйте имя события в методах, таких как addEventListener(), или установите свойство обработчика события.
addEventListener("loadend", (event) => {});
onloadend = (event) => {};
Тип события
Объект типа ProgressEvent. Наследуется от Event.
Свойства события
Помимо перечисленных ниже свойств, доступны свойства из родительского интерфейса Event.
-
lengthComputableТолько для чтения -
Логический флаг, указывающий, можно ли вычислить общую работу, которую должен выполнить базовый процесс, и объём уже проделанной работы. Другими словами, он показывает, можно ли измерить прогресс или нет.
-
loadedТолько для чтения -
Значение 64-битного беззнакового целого числа, указывающее объём работы, уже выполненной базовым процессом. Соотношение проделанной работы можно рассчитать, разделив
totalна значение этого свойства. При загрузке ресурса с помощью HTTP, это значение учитывает только тело HTTP-сообщения и не включает заголовки и другую служебную информацию. -
totalТолько для чтения -
64-битное беззнаковое целое число, представляющее общий объём работы, которую базовый процесс выполняет. При загрузке ресурса с помощью HTTP, это значение равно размеру тела сообщения (размер тела сообщения) и не включает заголовки и другую служебную информацию.
Примеры
Использование события loadend
Вы можете использовать событие loadend для определения завершения загрузки (успешной или неуспешной). Для полного примера кода, загружающего файл и отображающего полосу прогресса, см. главную страницу XMLHttpRequestUpload.
// 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;
});
Спецификации
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari в iOS | Samsung Internet | WebView Android | |
loadend_event |
18 | 12 | 5 | ≤12.1 | 4 | 18 | 5 | ≤12.1 | 3 | 1.0 | 4.4 |
См. также
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequestUpload/loadend_event