Spec-Zone.ru › Web APIs

XMLHttpRequest: событие loadstart

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

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

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

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

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

Синтаксис

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

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

onloadstart = (event) => {};

Тип события

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

Событие ProgressEvent

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

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

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

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

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

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

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

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

Примеры

Пример

HTML

<div class="controls">
  <input
    class="xhr success"
    type="button"
    name="xhr"
    value="Click to start XHR (success)" />
  <input
    class="xhr error"
    type="button"
    name="xhr"
    value="Click to start XHR (error)" />
  <input
    class="xhr abort"
    type="button"
    name="xhr"
    value="Click to start XHR (abort)" />
</div>

<textarea readonly class="event-log"></textarea>

JavaScript

const xhrButtonSuccess = document.querySelector(".xhr.success");
const xhrButtonError = document.querySelector(".xhr.error");
const xhrButtonAbort = document.querySelector(".xhr.abort");
const log = document.querySelector(".event-log");

function handleEvent(e) {
  log.textContent = `${log.textContent}${e.type}: ${e.loaded} bytes transferred\n`;
}

function addListeners(xhr) {
  xhr.addEventListener("loadstart", handleEvent);
  xhr.addEventListener("load", handleEvent);
  xhr.addEventListener("loadend", handleEvent);
  xhr.addEventListener("progress", handleEvent);
  xhr.addEventListener("error", handleEvent);
  xhr.addEventListener("abort", handleEvent);
}

function runXHR(url) {
  log.textContent = "";

  const xhr = new XMLHttpRequest();
  addListeners(xhr);
  xhr.open("GET", url);
  xhr.send();
  return xhr;
}

xhrButtonSuccess.addEventListener("click", () => {
  runXHR("example-image.jpg");
});

xhrButtonError.addEventListener("click", () => {
  runXHR("https://example.com/notfound.jpg");
});

xhrButtonAbort.addEventListener("click", () => {
  runXHR("example-image.jpg").abort();
});

Результат

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

Спецификация
XMLHttpRequest
# event-xhr-loadstart
XMLHttpRequest
# handler-xhr-onloadstart

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

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari на IOS Samsung Internet WebView Android
loadstart_event 1 12 3.5 ≤12.1 1.3 18 4 ≤12.1 1 1.0 4.4

См. также

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

© 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/XMLHttpRequest/loadstart_event

Spec-Zone.ru

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