Spec-Zone.ru › Web APIs

XMLHttpRequestUpload: событие progress

Базовая поддержка Широко доступно

Эта функция хорошо отработана и работает на многих устройствах и версиях браузеров. Она доступна во всех браузерах с июля 2015 года.

  • Подробнее
  • Полная совместимость
  • Отправить отзыв

Примечание: Эта функция доступна в Web Workers, за исключением Service Workers.

Событие progress периодически срабатывает, когда запрос получает больше данных.

Синтаксис

Используйте имя события в методах, таких как addEventListener(), или установите свойство обработчика события.

addEventListener("progress", (event) => {});

onprogress = (event) => {};

Тип события

Объект ProgressEvent. Наследуется от Event.

Событие ProgressEvent

Свойства события

Помимо перечисленных ниже свойств, доступны свойства из родительского интерфейса Event.

lengthComputable Только для чтения

Логическое значение, указывающее, можно ли вычислить общий объём работы и объём выполненной работы основным процессом. Другими словами, показывает, можно ли измерить прогресс.

loaded Только для чтения

Значение целочисленного беззнакового 64-битного числа, указывающее объём работы, уже выполненный основным процессом. Соотношение проделанной работы можно вычислить, разделив total на значение этого свойства. При загрузке ресурса с помощью HTTP учитывается только тело HTTP-сообщения, а не заголовки и другие накладные расходы.

total Только для чтения

Целочисленное беззнаковое 64-битное число, представляющее общий объём работы, выполняемой основным процессом. При загрузке ресурса с помощью HTTP, это значение равно Content-Length (размер тела сообщения), не включая заголовки и другие накладные расходы.

Примеры

Использование события progress

Вы можете использовать событие progress для получения информации о прогрессе длительной загрузки. Полный пример кода, который загружает файл и отображает индикатор прогресса, см. на главной странице XMLHttpRequestUpload.

// Each time a progress event is received we update the progress bar
// and the progress message
xhr.upload.addEventListener("progress", (event) => {
  progressBar.value = event.loaded; // Update the progress bar
  log.textContent = `Uploading (${((event.loaded / event.total) * 100).toFixed(
    2,
  )}%)…`;
});

Спецификации

Спецификация
XMLHttpRequest
# event-xhr-progress
XMLHttpRequest
# handler-xhr-onprogress

Совместимость с браузерами

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
progress_event 2 12 3.5 ≤12.1 4 18 4 ≤12.1 3 1.0 ≤37

См. также

  • Связанные события: loadstart, load, error, loadend, timeout, abort
  • Мониторинг прогресса
  • XMLHttpRequestUpload

© 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/progress_event

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API