Spec-Zone.ru › Web APIs

XMLHttpRequest: событие abort

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

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

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

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

Событие abort срабатывает, когда запрос был прерван, например, потому что программа вызвала XMLHttpRequest.abort().

Синтаксис

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

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

onabort = (event) => {};

Тип события

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

Событие ProgressEvent

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

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

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

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

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("my-picture.jpg");
});

xhrButtonError.addEventListener("click", () => {
  runXHR("https://example.com/some-path");
});

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

Результат

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

Спецификация
XMLHttpRequest
# event-xhr-abort
XMLHttpRequest
# handler-xhr-onabort

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

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

См. также

  • Связанные события: loadstart, load, progress, error, loadend
  • Отслеживание прогресса

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

Spec-Zone.ru

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