recursal/MDN huggingface dataset:
XMLHttpRequest.responseType
===========================

**`XMLHttpRequest.responseType`** Свойство является перечислимым значением, которое возвращает тип ответа. Он также позволяет автору изменять тип ответа. Если значение не задано, будет использовано значение по умолчанию **`text`**. Установка значения responseType в «document» игнорируется, если выполняется в рабочей среде. При настройке `responseType` на определённое значение автор должен убедиться, что сервер действительно отправляет ответ, совместимый с этим форматом. Если сервер возвращает данные, которые не совместимы с установленным `responseType`, значение `response` будет `null`. Кроме того, установка `responseType` для синхронных запросов вызовет исключение `InvalidAccessError`.

Поддерживаемые значения `responseType`:

| Value | Data type of `response` property |
| --- | --- |
| `""` | `DOMString` (this is the default value) |
| `"arraybuffer"` | `ArrayBuffer` |
| `"blob"` | `Blob` |
| `"document"` | `Document` |
| `"json"` | `JSON` |
| `"text"` | `DOMString` |
| `"moz-chunked-arraybuffer"` 
Non-standard
 | Похоже на `"arraybuffer"`, но потоковое. Это означает, что значение в `response` доступно только при отправке `"progress"` события и содержит только данные, полученные с момента последнего `"progress"` события.При `response` обращении во время события `"progress"` он содержит строку с данными. В противном случае он возвращается `null`.Этот режим работает только в Firefox.. |
| "ms-stream"
Non-standard
 | Указывает, что ответ является частью потоковой загрузки. Он поддерживается только для запросов на загрузку. Этот режим доступен только в Internet Explorer. |

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

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

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

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

Событие `loadstart` происходит, когда начинается загрузка.

Общая информация
----------------

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

Progress

Интерфейс

ProgressEvent

Распространяется

Нет

Отменяемое

Нет

Цель

Element

Действие по умолчанию

Нет

Свойства
--------

| Property | Type | Description |
| --- | --- | --- |
| `target` Только для чтения  | `EventTarget` | The event target (the topmost target in the DOM tree). |
| `type` Только для чтения  | `DOMString` | The type of event. |
| `bubbles` Только для чтения  | `Boolean` | Whether the event normally bubbles or not. |
| `cancelable` Только для чтения  | `Boolean` | Whether the event is cancellable or not. |
| `lengthComputable` Только для чтения  | `Boolean` | Specifies whether or not the total size of the transfer is known. Read only. |
| `loaded` Только для чтения  | unsigned long (long) | The number of bytes transferred since the beginning of the operation. This doesn't include headers and other overhead, but only the content itself. Read only. |
| `total` Только для чтения  | unsigned long (long) | The total number of bytes of content that will be transferred during the operation. If the total size is unknown, this value is zero. Read only. |

Связанные свойства
------------------

* `loadstart (en-US)`
* `progress (en-US)`
* `error (en-US)`
* `abort (en-US)`
* `load (en-US)`
* `loadend (en-US)`
Смотрите также
--------------

* Отслеживание состояния загрузки
XMLHttpRequest.getResponseHeader()
==================================

Метод **XMLHttpRequest.getResponseHeader()** возвращает строку, содержащую текст определённого хэдера (header). Если в наличии несколько хэдеров с одинаковыми именами, то они возвращаются в виде одной строки, где значения отделены друг от друга парой "запятая + пробел". Метод `getResponseHeader()` возвращает значение в кодировке UTF.

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

var myHeader = getResponseHeader(name);
```

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

name

Строка `ByteString` (en-US), представляющая имя хэдера, значение которого необходимо возвратить в виде текста.

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

Строка `ByteString` (en-US), представляющее текстовое значение хэдера или null, если ответ ещё не был получен или хэдер с именем name отсутствует в ответе.

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


```js
var client = new XMLHttpRequest();
client.open("GET", "unicorns-are-teh-awesome.txt", true);
client.send();
client.onreadystatechange = function () {
  if (this.readyState == this.HEADERS\_RECEIVED) {
    console.log(client.getResponseHeader("Content-Type"));
  }
};
```

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

| Specification |
| --- |
| XMLHttpRequest Standard # dom-xmlhttprequest-getresponseheader |

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

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

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

* Использование XMLHttpRequest
XMLHttpRequest.withCredentials
==============================

Свойство **XMLHttpRequest.withCredentials** это `Boolean` который определяет, должны ли создаваться кросс-доменные `Access-Control` запросы с использованием таких идентификационных данных как cookie, авторизационные заголовки или TLS сертификаты. Настройка `withCredentials` бесполезна при запросах на тот же домен.

Вдобавок, этот флаг также используется для определения, будут ли проигнорированы куки переданные в ответе. Значение по умолчанию - `false`. XMLHttpRequest с другого домена не может установить cookie на свой собственный домен в случае, если перед созданием этого запроса флаг `withCredentials` не установлен в `true`. Сторонние cookies, полученные с помощью установки `withCredentials` в true, всё равно будут соблюдать политику одинакового домена и, следовательно, не могут быть получены запрашивающим скриптом через document.cookie или из заголовков ответа.

> 
> \*\*Примечание:\*\*Это свойство не влияет на запросы, отправленные на тот же домен.
> 
> 
> 

> 
> \*\*Примечание:\*\*Ответы с другого домена не могут установить куки для своего собственного домена в случае, если перед созданием запроса флаг `withCredentials` не установлен в `true`, несмотря на значение заголовков `Access-Control-`.
> 
> 
> 

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


```js
var xhr = new XMLHttpRequest();
xhr.open("GET", "http://example.com/", true);
xhr.withCredentials = true;
xhr.send(null);
```

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

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

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

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

Метод **XMLHttpRequest.abort()** прерывает уже отправленный запрос. Когда запрос прерывается, то его свойство `readyState` устанавливается в `UNSENT` (0), а `status` в 0.

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

XMLHttpRequest.abort()
```

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

Нет.

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

`undefined`

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


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

xhr.send();

xhr.abort();
```

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

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

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

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

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

* Использование XMLHttpRequest
GlobalEventHandlers.onloadend
=============================

Свойство **`onloadend`** от `GlobalEventHandlers` примесь `event handler` передаёт код для вызова в момент возникновения события `loadend (en-US)` (когда процесс загрузки ресурса окончился и остановился)

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

img.onloadend = funcRef;
```


При возникновении события `loadend` будет вызвана функция обработчик `funcRef`.

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


```html
<img src="myImage.jpg" />
```



```js
// 'loadstart' fires first, then 'load', then 'loadend'

image.addEventListener("load", function (e) {
  console.log("Image loaded");
});

image.addEventListener("loadstart", function (e) {
  console.log("Image load started");
});

image.addEventListener("loadend", function (e) {
  console.log("Image load finished");
});
```

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

| Specification |
| --- |
| XMLHttpRequest Standard # event-xhr-loadend |
| XMLHttpRequest Standard # handler-xhr-onloadend |

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

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

Свойство **XMLHttpRequest.upload** возвращает объект `XMLHttpRequestUpload` (en-US), представляющий процесс загрузки. Это непрозрачный объект, но так как он является `XMLHttpRequestEventTarget` (en-US), к нему можно добавить обработчики событий.

Обработчики событий, которые можно добавить к объекту загрузки:

| Обработчик | Событие |
| --- | --- |
| `onloadstart` | Начало запроса |
| `onprogress` | Происходит передача данных |
| `onabort` | Запрос был отменён |
| `onerror` | При запросе произошла ошибка |
| `onload` | Запрос завершился |
| `ontimeout` | Запрос не завершился ко времени, указанному автором |
| `onloadend` | Запрос завершился (успешно или с ошибкой) |

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

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

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

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

Свойство **`XMLHttpRequest.responseURL`** доступно только для чтения, возвращает сериализованный URL ответа или пустую строку, если URL равен `null`. Если URL возвращён, любой URL фрагмент в URL будет стёрт. Значение `responseURL` станет окончательным URL, получаемым после любых редиректов.

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


```js
var xhr = new XMLHttpRequest();
xhr.open("GET", "http://example.com/test", true);
xhr.onload = function () {
  console.log(xhr.responseURL); // http://example.com/test
};
xhr.send(null);
```

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

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

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

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

Конструктор **`Audio()`** создаёт и возвращает новый `HTMLAudioElement` объект, который может быть прикреплён к документу, чтобы пользователь мог взаимодействовать и/или слушать его, либо может использоваться вне экрана для управления и воспроизведения звука.

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

audioObj = new Audio(url);
```

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

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

Необязательный параметр `DOMString`, содержащий URL-адрес аудиофайла, который будет связан с новым аудиоэлементом.

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

Новый `HTMLAudioElement` объект, настроенный для воспроизведения файла, указанного в `url`. Свойство `preload` нового объекта имеет значение по умолчанию `auto`, а его свойство `src` — указанный URL-адрес или `null`, если адрес не указан. Если указан URL-адрес, браузер начинает *асинхронно* загружать медиаресурс перед возвратом нового объекта.

Примечания по использованию
---------------------------

Вы также можете использовать другие методы создания элементов, такие как метод `createElement()` объекта `document`, для создания нового `HTMLAudioElement` объекта.

### Определение, когда воспроизведение может начаться

Существует три способа определить насколько аудио-файл загружен, чтобы начать воспроизведение:

* Проверьте значение свойства `readyState` (en-US). Если оно равняется `HTMLMediaElement.HAVE_FUTURE_DATA`, значит загружено достаточно данных, чтобы начать воспроизведение и проиграть хотя бы короткое время. Если `HTMLMediaElement.HAVE_ENOUGH_DATA` — доступно достаточно данных, чтобы воспроизводить аудио до конца без прерываний, учитывая текущую скорость загрузки.
* Прослушайте событие `canplay` (en-US). Оно отправляется элементу `<audio>`, когда достаточно данных для воспроизведения (хотя возможны прерывания).
* Прослушайте событие `canplaythrough` (en-US). Оно отправляется, когда предполагается, что аудио должно воспроизводиться до конца без прерываний.

Лучший подход, основанный на событии:


```js
myAudioElement.addEventListener("canplaythrough", (event) => {
  /\* аудио может быть воспроизведено; проиграть, если позволяют разрешения \*/
  myAudioElement.play();
});
```

### Использование памяти и управление

Если все ссылки на аудиоэлемент, созданные с помощью конструктора `Audio()` удалены, сам элемент не будет удалён из памяти механизмом сборщика мусора JavaScript, если в данный момент идёт воспроизведение. Вместо этого продолжится воспроизведение и объект останется в памяти до тех пор, пока не закончится аудио или оно не будет приостановлено (например, путём вызова `pause()` (en-US)). В этот момент объект подлежит уничтожению сборщиком мусора.

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

| Specification |
| --- |
| HTML Standard # dom-audio-dev |

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

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

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

* Web media technologies (en-US)
* HTML-элемент, реализующий этот интерфейс: `<audio>`.
FileReader.onabort
==================

Значением свойства **`FileReader.onabort`** является функция которая вызывается в случае если срабатывает событие abort (en-US), например когда процесс чтения файла прерывается по каким-либо причинам.

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


```js
reader.onabort = function() { ... };
```
FileReader.error
================

Сводка
------

Возвращает ошибку, произошедшую во время чтения файла.

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

var error = instanceOfFileReader.error
```

Значение
--------

`DOMError` (en-US) содержит соответствующую ошибку. В Chrome 48+/Firefox 58+ значение возвращает `DOMException` (en-US) так как `DOMError` был удалён из DOM-стандарта.

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

| Specification |
| --- |
| File API # dom-filereader-error |

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

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

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

* `FileReader`
FileReader.readAsArrayBuffer()
==============================

Метод **`readAsArrayBuffer`** используется для чтения содержимого файла, представленного как `Blob` или `File`. Когда операция чтения завершается, `readyState` (en-US) принимает значение `DONE`, и наступает событие `loadend (en-US)`. В то же время в `result` (en-US) помещается информация о файле в виде `ArrayBuffer`.

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

instanceOfFileReader.readAsArrayBuffer(blob);
```

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

`blob`

`Blob` или `File`, информацию из которого необходимо прочитать.

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

| Specification |
| --- |
| File API # readAsArrayBuffer |

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

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

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

* `FileReader`
FileReader()
============

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

Дополнительные сведения об использовании `FileReader`, смотрите в разделе Использование файлов из веб-приложений.

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


```js
var reader = new FileReader();
```

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

Отсутствуют.

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

Следующий объект кода показывает объект `FileReader` использующий конструктор `FileReader()` и последующее использование объекта:


```js
function printFile(file) {
  var reader = new FileReader();
  reader.onload = function (evt) {
    console.log(evt.target.result);
  };
  reader.readAsText(file);
}
```

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

| Specification |
| --- |
| File API # filereaderConstrctr |

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

* Использование файлов из веб-приложений
FileReader: readAsDataURL() method
==================================

**Примечание:** Эта возможность доступна в Web Workers

Метод `readAsDataURL()` интерфейса `FileReader` используется для чтения содержимого `Blob` или `File`. После завершения операции свойство `readyState` (en-US) принимает значение `DONE` и возникает событие `loadend` (en-US). В то же время атрибут `result` (en-US) будет содержать данные файла, закодированные в `base64`-строку в виде Data URL.

> 
> **Note:** Атрибут `result` (en-US) не может быть напрямую декодирован как Base64 без предварительного удаления объявления `Data URL`, которое предшествует данным в кодировке `base64`. Чтобы получить только строку в кодировке `base64`, необходимо удалить `data:*/*;base64,` из результата.
> 
> 
> 

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


```js
readAsDataURL(blob)
```

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

`blob`

`Blob` или `File` для чтения.

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

Нет (`undefined`).

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

### Чтение одного файла

#### HTML


```html
<input type="file" onchange="previewFile()" /><br />
<img src="" height="200" alt="Предварительный просмотр изображения" />
```


#### JavaScript


```js
function previewFile() {
  const preview = document.querySelector("img");
  const file = document.querySelector("input[type=file]").files[0];
  const reader = new FileReader();

  reader.addEventListener(
    "load",
    () => {
      // Конвертация изображения в base64-строку
      preview.src = reader.result;
    },
    false,
  );

  if (file) {
    reader.readAsDataURL(file);
  }
}
```


#### Результат

### Чтение нескольких файлов

#### HTML


```html
<input id="browse" type="file" multiple />
<div id="preview"></div>
```


#### JavaScript


```js
function previewFiles() {
  const preview = document.querySelector("#preview");
  const files = document.querySelector("input[type=file]").files;

  function readAndPreview(file) {
    // Проверяем, что `file.name` соответствует необходимым расширениям
    if (/\.(jpe?g|png|gif)$/i.test(file.name)) {
      const reader = new FileReader();

      reader.addEventListener(
        "load",
        () => {
          const image = new Image();
          image.height = 100;
          image.title = file.name;
          image.src = reader.result;
          preview.appendChild(image);
        },
        false,
      );

      reader.readAsDataURL(file);
    }
  }

  if (files) {
    Array.prototype.forEach.call(files, readAndPreview);
  }
}

const picker = document.querySelector("#browse");
picker.addEventListener("change", previewFiles);
```


#### Результат

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

| Specification |
| --- |
| File API # readAsDataURL |

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

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

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

* `FileReader`
* `URL.createObjectURL()`
FileReader.readAsBinaryString()
===============================

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

Метод `readAsBinaryString` используется для начала считывания содержимого определённого как `Blob` или `File`. Когда операция чтения завершится `readyState` (en-US) становится `DONE`, и срабатывает `loadend (en-US)` . В это время атрибут `result` (en-US) содержит сырые бинарные данные из файла.

Заметьте, что этот метод устарел (12 July 2012 Working Draft from the W3C.)

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

instanceOfFileReader.readAsBinaryString(blob);
```

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

`blob`

The `Blob` or `File` from which to read.

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


```js
var canvas = document.createElement("canvas");
var height = 200;
var width = 200;

canvas.width = width;
canvas.height = height;

var ctx = canvas.getContext("2d");

ctx.strokeStyle = "#090";
ctx.beginPath();
ctx.arc(width / 2, height / 2, width / 2 - width / 10, 0, Math.PI \* 2);
ctx.stroke();

canvas.toBlob(function (blob) {
  var reader = new FileReader();

  reader.onloadend = function () {
    console.log(reader.result);
  };

  reader.readAsBinaryString(blob);
});
```

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

Этот метод был удалён из стандарта FileAPI. Вместо него следует использовать `FileReader.readAsArrayBuffer()`.

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

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

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

* `FileReader`
FileReader.readAsText()
=======================

Метод **`readAsText()`** используется для чтения содержимого указанного `Blob` или `File`. Когда операция закончится, `readyState` (en-US) примет значение `DONE` и будет вызвано событие `loadend (en-US)`. В то же время, атрибут `result` (en-US) будет содержать данные файла как строку.

Syntax
------
```

instanceOfFileReader.readAsText(blob[, encoding]);
```

### Parameters

`blob`

`Blob` или `File` которые следует прочитать.

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

Строка, обозначающая кодировку используемую для возвращаемых данных. По умолчанию используется UTF-8, если параметр не указан.

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

| Specification |
| --- |
| File API # readAsDataText |

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

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

See also
--------

* `FileReader`
HTMLSelectElement.selectedIndex
===============================

**`HTMLSelectElement.selectedIndex`** показывает порядковый номер первого выбранного элемента ``<option>``. Значение -1 означает, что ни один из элементов не выбран.

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

var index = selectElem.selectedIndex;
selectElem.selectedIndex = index;
```

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

### HTML


```html
<p id="p">Индекс выбранного элемента: 0</p>

<select id="select">
  <option selected>Option A</option>
  <option>Option B</option>
  <option>Option C</option>
  <option>Option D</option>
  <option>Option E</option>
</select>
```

### JavaScript


```js
var selectElem = document.getElementById("select");
var pElem = document.getElementById("p");

// Когда выбран новый элемент <option>
selectElem.addEventListener("change", function () {
  var index = selectElem.selectedIndex;
  // Добавить данные в <p>
  pElem.innerHTML = "selectedIndex: " + index;
});
```

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

| Specification |
| --- |
| HTML Standard # dom-select-selectedindex-dev |

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

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

Baseline 2023
-------------

Newly availableSince March 2023, 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
Метод **`HTMLSelectElement.setCustomValidity()`** устанавливает специальное сообщение для выбранного элемента. Если элемент не имеет пользовательской ошибки в параметре укажите пустую строку.

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


```js
selectElt.setCustomValidity(string);
```

### Параметр

* *Строка* `DOMString` содержащая сообщение об ошибке.
Спецификация
------------

| Specification |
| --- |
| HTML Standard # dom-cva-setcustomvalidity-dev |

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

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

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

* Проверка(валидация) форм. (en-US)