recursal/MDN huggingface dataset:
Animation.cancel()
==================

Baseline 2022
-------------

Newly availableSince September 2022, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

* Learn more
* See full compatibility
* Report feedback
**Экспериментальная возможность:** **Это экспериментальная технология**  
Так как спецификация этой технологии ещё не стабилизировалась, смотрите таблицу совместимости по поводу использования в различных браузерах. Также заметьте, что синтаксис и поведение экспериментальной технологии может измениться в будущих версиях браузеров, вслед за изменениями спецификации.

Метод **`cancel()`** API Web Animation интерфейса `Animation` очищает все `KeyframeEffect` (en-US) вызванной этой анимацией и прекращает его воспроизведение.

**Примечание:** Когда анимация отменена, её `startTime` и `currentTime` (en-US) устанавливаются в `null`.

Syntax
------
```

Animation.cancel();
```

### Parameters

None.

### Return value

None.

### Exceptions

Этот метод не выбрасывает напрямую исключения; однако, если `playState` (en-US) анимации во время отмены ничего кроме `"idle"`, current finished promise (en-US) отклоняется с помощью `DOMException` (en-US) названным `AbortError`.

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

| Specification |
| --- |
| Web Animations # dom-animation-cancel |

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

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

See also
--------

* Web Animations API
* `KeyframeEffect` (en-US)
* `Animation`
* `Animation.playState` (en-US)
* `Animation.finished` (en-US) returns the promise this action will reject if the animation's `playState` is not `"idle"`.
Window.mozAnimationStartTime
============================

Baseline 2022
-------------

Newly availableSince September 2022, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

* Learn more
* See full compatibility
* Report feedback
**Не стандартно:** Эта возможность не является стандартной и стандартизировать её пока никто не собирается. Не используйте её на сайтах, смотрящих во внешний мир: она будет работать не у всех пользователей. Также могут присутствовать большие несовместимости между реализациями и её поведение может в будущем измениться.

### Summary

Возвращает время в миллисекундах с начала эпохи UNIX, начиная с которого анимации, начавшиеся в определённый момент, должны быть сочтены уже начавшимися. Это значение должно быть использовано вместо, например, `Date.now()`, потому что оно будет тем же самым для анимаций, начавшихся в этом окне в течение этого интервала, позволяя им синхронизироваться между собой.

Это также позволяет анимациям JavaScript оставаться синхронизированными с CSS переходами и SMIL анимациями, запущенными в течение того же интервала обновления.

### Syntax
```

time = window.mozAnimationStartTime;
```

### Parameters

* *`time`* это время в миллисекундах с начала эпохи UNIX, начиная с которого анимации для текущего окна принимаются уже начавшимися.
### Specification

Not part of specification.

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

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

### See also

* `window.mozRequestAnimationFrame()` (en-US)
* `window.onmozbeforepaint`
XMLHttpRequest.responseXML
==========================

`Свойство XMLHttpRequest.responseXML` это доступное только для чтения значение, которое содержит `Document` содержащий HTML или XML полученный запросом, или `null` в случае, если запрос не был успешен, ещё не был отправлен или полученные данные не могут быть корректно обработаны как XML или HTML. Ответ обрабатывается так, как если бы это был `"text/xml"`. В случае, если `responseType` установлен как `"document"` и запрос был осуществлён асинхронно, ответ обрабатывается как `"text/html"`. `responseXML` содержит `null` для любых других типов данных так же, как и для `data:` URLs.

**Примечание:** Название `responseXML` это наследие истории этого свойства, на самом деле оно работает как для HTML, так и для XML.

Если сервер не определяет заголовок `Content-Type` как `"text/xml"` или `"application/xml"`, вы в любом случае можете использовать `XMLHttpRequest.overrideMimeType()` (en-US) чтобы заставить `XMLHttpRequest` обрабатывать ответ как XML.

Синтаксис
---------
```

var data = XMLHttpRequest.responseXML;
```

### Значение

`Document` содержащий древовидный результат обработки XML или HTML, полученных с использованием `XMLHttpRequest`, или `null`, если данные не были получены или содержат другой тип данных.

### Исключения

`InvalidStateError`

`responseType` не является `"document"` или пустой строкой (каждый из которых указывает, что принятые данные это XML или HTML).

Пример
------


```js
var xhr = new XMLHttpRequest();
xhr.open("GET", "/server", true);

// Значение responseType, если указано, должно быть пустой строкой или "document"
xhr.responseType = "document";

// overrideMimeType() может быть использован, чтобы заставить ответ обрабатываться как XML
xhr.overrideMimeType("text/xml");

xhr.onload = function () {
  if (xhr.readyState === xhr.DONE) {
    if (xhr.status === 200) {
      console.log(xhr.response);
      console.log(xhr.responseXML);
    }
  }
};

xhr.send(null);
```

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

| Specification |
| --- |
| XMLHttpRequest Standard # the-responsexml-attribute |

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

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Смотрите также
--------------

* `XMLHttpRequest`
* `XMLHttpRequest.response`
* `XMLHttpRequest.responseType`
XMLHttpRequest.statusText
=========================

Свойство **`XMLHttpRequest.statusText`**, доступное только для чтения, возвращает строку `DOMString`, содержащую сообщение о состоянии ответа, возвращаемое HTTP-сервером. В отличие от `XMLHTTPRequest.status`, который указывает числовой код состояния, это свойство содержит текст состояния ответа, например «OK» или «Not Found». Если запрос `readyState` находится в состоянии `UNSENT` или `OPENED`, значением `statusText` будет пустая строка.

Если в ответе сервера явно не указан текст состояния, для `statusText` будет принято значение по умолчанию «ОК».

Пример
------


```js
var xhr = new XMLHttpRequest();
console.log("0 UNSENT", xhr.statusText);

xhr.open("GET", "/server", true);
console.log("1 OPENED", xhr.statusText);

xhr.onprogress = function () {
  console.log("3 LOADING", xhr.statusText);
};

xhr.onload = function () {
  console.log("4 DONE", xhr.statusText);
};

xhr.send(null);

/\*\*
 \* Outputs the following:
 \*
 \* 0 UNSENT
 \* 1 OPENED
 \* 3 LOADING OK
 \* 4 DONE OK
 \*/
```

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

| Specification |
| --- |
| XMLHttpRequest Standard # the-statustext-attribute |

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

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Смотрите также
--------------

* Список HTTP response codes
* HTTP
XMLHttpRequest.onreadystatechange
=================================

`Обработчик события (EventHandler)` (en-US), который вызывается всякий раз, когда изменяется состояние свойства `readyState`. Свойство **`XMLHttpRequest.onreadystatechange`** содержит обработчик события, вызываемый когда происходит событие `readystatechange (en-US)`, всякий раз когда свойство `readyState` запроса `XMLHttpRequest` изменяется. Колбэк-функция запускается из потока пользовательского интерфейса.

**Предупреждение:** **Внимание:** Не должно использоваться при синхронных запросах и из исходного кода (native code).

Событие `readystatechange` не произойдёт если запрос `XMLHttpRequest` отменён методом abort().

Синтаксис
---------
```

XMLHttpRequest.onreadystatechange = callback;
```

### Значение

* `callback` - это функция, которая будет вызываться при изменении свойства `readyState`.
Пример
------


```js
var xhr = new XMLHttpRequest(),
  method = "GET",
  url = "https://developer.mozilla.org/";

xhr.open(method, url, true);
xhr.onreadystatechange = function () {
  if (xhr.readyState === XMLHttpRequest.DONE && xhr.status === 200) {
    console.log(xhr.responseText);
  }
};
xhr.send();
```

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

| Specification |
| --- |
| XMLHttpRequest Standard # event-xhr-readystatechange |
| XMLHttpRequest Standard # handler-xhr-onreadystatechange |

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

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
XMLHttpRequest.timeout
======================

Свойство **`XMLHttpRequest.timeout`** определяет количество миллисекунд, которое запрос будет выполняться, до того, как будет автоматически прерван. Имеет размер `unsigned long.` Значение по умолчанию - 0, определяет, что таймаута нет. Таймаут не должен быть использован в синхронных запросах XMLHttpRequests в среде документа (en-US), или будет вызвано исключение `InvalidAccessError`. Когда случается таймаут - вызывается событие timeout (en-US).

**Примечание:** вы не можете использовать таймаут для синхронных запросов с окном - владельцем. Использование таймаута с асинхронными запросами

В Internet Explorer, свойство timeout может быть установлено только после вызова метода open() и до вызова метода send().

Пример
------


```js
var xhr = new XMLHttpRequest();
xhr.open("GET", "/server", true);

xhr.timeout = 2000; // time in milliseconds

xhr.onload = function () {
  // Запрос завершён. Здесь можно выполнить обработку.
};

xhr.ontimeout = function (e) {
  // Таймаут. Здесь можно выполнить что-нибудь..
};

xhr.send(null);
```

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

| Specification |
| --- |
| XMLHttpRequest Standard # the-timeout-attribute |
XMLHttpRequest.status
=====================

Доступное только для чтения свойство **`XMLHttpRequest.status`**, возвращает числовой код состояния HTTP ответа `XMLHttpRequest`.

До завершения запроса значение `status` равно 0. Браузеры также сообщают о состоянии 0 в случае ошибок `XMLHttpRequest`.

Пример
------


```js
var xhr = new XMLHttpRequest();
console.log("UNSENT: ", xhr.status);

xhr.open("GET", "/server");
console.log("OPENED: ", xhr.status);

xhr.onprogress = function () {
  console.log("LOADING: ", xhr.status);
};

xhr.onload = function () {
  console.log("DONE: ", xhr.status);
};

xhr.send();

/\*\*
 \* Outputs the following:
 \*
 \* UNSENT: 0
 \* OPENED: 0
 \* LOADING: 200
 \* DONE: 200
 \*/
```

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

| Specification |
| --- |
| XMLHttpRequest Standard # the-status-attribute |

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

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Смотрите также
--------------

* Список HTTP response codes
* HTTP
XMLHttpRequest.readyState
=========================

**Свойство XMLHttpRequest.readyState** возвращает текущее состояние объекта XMLHttpRequest. Объект XHR может иметь следующие состояния:

| Значение | Состояние | Описание |
| --- | --- | --- |
| `0` | `UNSENT` | Объект был создан. Метод `open()` ещё не вызывался. |
| `1` | `OPENED` | `Метод open()` был вызван. |
| `2` | `HEADERS_RECEIVED` | `Метод send()` был вызван, доступны заголовки (headers) и статус. |
| `3` | `LOADING` | Загрузка; `responseText` содержит частичные данные. |
| `4` | `DONE` | Операция полностью завершена. |

UNSENT

Объект XMLHttpRequest был создан, но метод `open()` ещё не вызывался.

OPENED

Был вызван метод open(). На этом этапе методом setRequestHeader() могут быть установлены заголовки запроса (request headers), после чего для начала выполнения запроса может быть вызван метод send() .

HEADERS\_RECEIVED

Был вызван метод send() и получены заголовки ответа (response headers) .

LOADING

Получена часть ответа. Если `responseType` - это пустая строка или имеет значение "text", `responseText` будет содержать загруженную порцию текста ответа.

DONE

Операция доставки данных завершена. Это может означать как то, что передача данных полностью завершена успешно, так и то, что произошла ошибка.


**Примечание:** Названия состояний отличаются в версиях Internet Explorer ранее 11. Вместо `UNSENT`, `OPENED`, `HEADERS_RECEIVED`, `LOADING` и `DONE`, используются названия `READYSTATE_UNINITIALIZED` (0), `READYSTATE_LOADING` (1), `READYSTATE_LOADED` (2), `READYSTATE_INTERACTIVE` (3) и `READYSTATE_COMPLETE` (4).

Пример
------


```js
var xhr = new XMLHttpRequest();
console.log("UNSENT", xhr.readyState); // readyState будет равно 0

xhr.open("GET", "/api", true);
console.log("OPENED", xhr.readyState); // readyState будет равно 1

xhr.onprogress = function () {
  console.log("LOADING", xhr.readyState); // readyState будет равно 3
};

xhr.onload = function () {
  console.log("DONE", xhr.readyState); // readyState будет равно 4
};

xhr.send(null);
```

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

| Specification |
| --- |
| XMLHttpRequest Standard # states |

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

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
XMLHttpRequest.responseText
===========================

Только для чтения `XMLHttpRequest` свойство **`responseText`** возвращает текст ответа от сервера на отправленный запрос.

Syntax
------
```

var resultText = XMLHttpRequest.responseText;
```

### Значение

Строка `DOMString` содержащая либо текстовые данные, полученные при использовании `XMLHttpRequest`, либо `null` в случае, когда вопрос возвратил ошибку, или же ещё не был отослан на сервер вызовом функции `send()`.

Во время выполнения асинхронных запросов, в значении `responseText` всегда находится текущее содержимое, полученное от сервера, даже если запрос ещё не завершён, и данные от сервера не получены полностью.

Понять, что ответ получен полностью, можно когда значение `readyState` становится `XMLHttpRequest.DONE` (`4`), а значение `status` становится 200 (`"OK"`).

### Исключения

`InvalidStateError`

Возникает, когда значению `XMLHttpRequest.responseType` не присвоена либо пустая строка, либо "text". Поскольку свойство `responseText` предназначено только для текстового содержимого, любое другое значение вызовет ошибку.

Пример
------


```js
var xhr = new XMLHttpRequest();
xhr.open("GET", "/server", true);

// responseType должно быть пустой строкой, либо "text"
xhr.responseType = "text";

xhr.onload = function () {
  if (xhr.readyState === xhr.DONE) {
    if (xhr.status === 200) {
      console.log(xhr.response);
      console.log(xhr.responseText);
    }
  }
};

xhr.send(null);
```

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

| Specification |
| --- |
| XMLHttpRequest Standard # the-responsetext-attribute |

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

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
XMLHttpRequest.send()
=====================

Метод **`XMLHttpRequest.send()`** отправляет запрос. Если запрос асинхронный (каким он является по умолчанию), то возврат из данного метода происходит сразу после отправления запроса. Если запрос синхронный, то метод возвращает управление только после получения ответа. Метод `send()` принимает необязательные аргументы в тело запросов. Если метод запроса `GET` или `HEAD`, то аргументы игнорируются и тело запроса устанавливается в null.

Если заголовок `Accept` не был задан с помощью `setRequestHeader()`, будет отправлено значение `Accept` по умолчанию `*/*`.

Синтаксис
---------
```

XMLHttpRequest.send(body)
```

### Параметры

*body* Необязательный

Данные из параметра body оправляются в запросе через XHR. Это могут быть:

* `Document`, и в этом случае данные будут сериализованы перед отправкой.
* `BodyInit`, которые, согласно спецификации Fetch могут быть: `Blob`, `BufferSource`, `FormData`, `URLSearchParams`, `ReadableStream` (en-US), или объектом `USVString` (en-US).

Лучший способ передать двоичные данные (например при загрузке файлов) - это использование ArrayBufferView (en-US) или Blobs в сочетании с методом`send()`.

Если никакого значения не определено в качестве *body*, то будет использовано значение по умолчанию: `null`.

### Возвращаемое значение

`undefined`.

### Исключения

| Исключение | Описание |
| --- | --- |
| `InvalidStateError` | `send()` уже был вызван для запроса, и/или запрос завершён. |
| `NetworkError` | Тип запрошенного ресурса - Blob, но метод запроса не `GET`. |

Пример: GET
-----------
```

var xhr = new XMLHttpRequest();
xhr.open('GET', '/server', true);

xhr.onload = function () {
  // Запрос завершён. Здесь можно обрабатывать результат.
};

xhr.send(null);
// xhr.send('string');
// xhr.send(new Blob());
// xhr.send(new Int8Array());
// xhr.send({ form: 'data' });
// xhr.send(document);
```

Пример: POST
------------
```

var xhr = new XMLHttpRequest();
xhr.open("POST", '/server', true);

//Передаёт правильный заголовок в запросе
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");

xhr.onreadystatechange = function() {//Вызывает функцию при смене состояния.
    if(xhr.readyState == XMLHttpRequest.DONE && xhr.status == 200) {
        // Запрос завершён. Здесь можно обрабатывать результат.
    }
}
xhr.send("foo=bar&lorem=ipsum");
// xhr.send('string');
// xhr.send(new Blob());
// xhr.send(new Int8Array());
// xhr.send({ form: 'data' });
// xhr.send(document);
```

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

| Specification |
| --- |
| XMLHttpRequest Standard # the-send()-method |

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

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Смотрите также
--------------

* Использование XMLHttpRequest
* HTML in XMLHttpRequest (en-US)
XMLHttpRequest()
================

#### XMLHttpRequest

Конструктор **`XMLHttpRequest()`** создаёт новый объект `XMLHttpRequest`.

Для получения подробной информации о том, как использовать `XMLHttpRequest`, см. Использование XMLHttpRequest.

Синтаксис
---------
```

const request = new XMLHttpRequest();
```

### Параметры

Нет.

### Возвращаемое значение

Новый объект `XMLHttpRequest`. Этот объект должен быть подготовлен вызовом функции `open()` перед вызовом `send()` для отправки запроса на сервер.

Нестандартный синтаксис Firefox
-------------------------------

В Firefox 16 в конструктор добавлен нестандартный параметр, который позволяет включать анонимный режим (см. Firefox bug 692677). Установка флага `mozAnon` в значение `true` по сути напоминает конструктор `AnonXMLHttpRequest()`, описанный в более старых версиях спецификации XMLHttpRequest.
```

const request = new XMLHttpRequest(paramsDictionary);
```

### Параметры (нестандартные)

`objParameters`

Существует два флага, которые можно установить:

`mozAnon`

Boolean: Установка этого флага в значение `true` приведёт к тому, что браузер не будет раскрывать origin и учётные данные пользователя при получении ресурсов. Главным образом это означает, что файлы cookies не будут отправлены, если они не добавлены явно с использованием setRequestHeader.

`mozSystem`

Boolean: Установка этого флага в значение `true` позволяет устанавливать межсайтовые соединения не требуя подключения сервера с помощью CORS. *Требует установки флага `mozAnon: true`, т.к. это нельзя сочетать с отправкой файлов cookie или других учётных данных пользователя. Это работает только в привилегированных (проверенных) приложениях (Firefox bug 692677)); не работает на произвольных веб-страницах, загруженных в Firefox.*


Смотрите также
--------------

* Использование XMLHttpRequest
* HTML в XMLHttpRequest (en-US)
XMLHttpRequest.open()
=====================

Метод **XMLHttpRequest.open()** инициализирует новый запрос или повторно инициализирует уже созданный.

**Примечание:** Вызов этого метода для уже активного запроса (для которого уже был вызван `open()`) эквивалентно вызову `abort()`.

Синтаксис
---------
```

XMLHttpRequest.open(method, url[, async[, user[, password]]])
```

### Параметры

`method`

Для HTTP-запроса используются такие методы как "GET", "POST", "PUT", "DELETE", и т. д. Игнорируется для URL, отличных от HTTP(S)-запросов.

`url`

`DOMString` представляет URL для отправки запроса.

`async` Необязательный

Необязательный логический параметр со значением по умолчанию `true`, указывающим, выполнять ли операцию асинхронно или нет. Если это значение равно `false`, метод `send()` не возвращается, пока не будет получен ответ. Если `true`, уведомление о получении ответа осуществляется с помощью обработчика события. Должен быть `true`, если атрибут `multipart` равен `true`, иначе будет выброшено исключение.

**Примечание:** Синхронные запросы в основном потоке могут нарушить работу пользователя, их следует избегать. Фактически большинство браузеров полностью отказались от поддержки синхронных XHR в основном потоке. Синхронные запросы можно использовать в `Worker`.

`user` Необязательный

Опционально: имя пользователя, использующееся для аутентификации; по умолчанию имеет значение `null`.

`password` Необязательный

Опционально: пароль, использующийся для аутентификации; по умолчанию имеет значение `null`.

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

| Specification |
| --- |
| XMLHttpRequest Standard # the-open()-method |

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

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Смотрите также
--------------

* Использование XMLHttpRequest
* `setRequestHeader()`
* `send()`
* `abort()`
XMLHttpRequest.setRequestHeader()
=================================

Метод **XMLHttpRequest.setRequestHeader()** устанавливает значения HTTP заголовков. Метод `setRequestHeader()` следует вызывать только после `open()`, но до `send()`. Если метод вызывается несколько раз подряд, значения присоединяется к одному и тому же заголовку.

Если заголовок `Accept` не был установлен, то он будет передан в запросе со значением `*/*` когда будет вызван метод `send()`.

В целях безопасности, некоторые заголовки не могут быть установлены программно. Для более подробной информации, смотрите forbidden header names и forbidden response header names.

**Примечание:** Для ваших собственных полей, вы можете увидеть исключение "**not allowed by Access-Control-Allow-Headers in preflight response**", когда вы делаете кросс-доменный запрос. В этом случае, вам нужно установить заголовок "Access-Control-Allow-Headers" в ответе на стороне сервера.

Синтаксис
---------
```

XMLHttpRequest.setRequestHeader(header, value)
```

### Параметры

`header`

Имя устанавливаемого заголовка

`value`

Значение, которое будет установлено как тело заголовка

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

| Specification |
| --- |
| XMLHttpRequest Standard # the-setrequestheader()-method |

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

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Смотрите также
--------------

Использование XMLHttpRequest