recursal/MDN huggingface dataset:
HTMLLinkElement
===============

Интерфейс **`HTMLLinkElement`** представляет справочную информацию для внешних ресурсов и отношение этих ресурсов к документу и наоборот (соответствует элементу `<link>`; не путать с `<a>`, который представлен элементом `HTMLAnchorElement`). Этот объект наследует все свойства и методы интерфейса `HTMLElement`.

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

*Наследует свойства от своего родителя, `HTMLElement`, и `LinkStyle` (en-US).*

`HTMLLinkElement.as` (en-US)

Это `DOMString` представляющий тип контента загружаемый по HTML ссылке.

`HTMLLinkElement.crossOrigin` (en-US) 
Экспериментальная возможность

Is a `DOMString` that corresponds to the CORS setting for this link element. See CORS settings attributes (en-US) for details.

`HTMLLinkElement.disabled`

Is a `Boolean` which represents whether the link is disabled; currently only used with style sheet links.

`HTMLLinkElement.href`

Is a `DOMString` representing the URI for the target resource.

`HTMLLinkElement.hreflang` (en-US)

Is a `DOMString` representing the language code for the linked resource.

`HTMLLinkElement.media`

Is a `DOMString` representing a list of one or more media formats to which the resource applies.

`HTMLLinkElement.referrerPolicy` (en-US) 
Экспериментальная возможность

Is a `DOMString` that reflects the `referrerpolicy` HTML attribute indicating which referrer to use.

`HTMLLinkElement.rel` (en-US)

Is a `DOMString` representing the forward relationship of the linked resource from the document to the resource.

`HTMLLinkElement.relList` (en-US) Только для чтения 

Is a `DOMTokenList` that reflects the `rel` HTML attribute, as a list of tokens.

`HTMLLinkElement.sizes` Только для чтения 

Is a `DOMSettableTokenList` that reflects the `sizes` HTML attribute, as a list of tokens.

`LinkStyle.sheet` (en-US) Только для чтения 

Returns the `StyleSheet` object associated with the given element, or `null` if there is none.

`HTMLLinkElement.type`

Is a `DOMString` representing the MIME type of the linked resource.

### Устаревшие свойства

`HTMLLinkElement.charset`

Is a `DOMString` representing the character encoding for the target resource.

`HTMLLinkElement.rev`

Is a `DOMString` representing the reverse relationship of the linked resource from the resource to the document.

**Примечание:** Currently the W3C HTML 5.2 spec states that `rev` is no longer obsolete, whereas the WHATWG living standard still has it labeled obsolete. Until this discrepancy is resolved, you should still assume it is obsolete.

`HTMLLinkElement.target`

Is a `DOMString` representing the name of the target frame to which the resource applies.

Методы
------

*Не имеет методов; наследует методы от своего родителя, `HTMLElement`, и `LinkStyle` (en-US).*

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

| Specification |
| --- |
| HTML Standard # htmllinkelement |

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

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

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

* Элемент HTML, реализующий этот интерфейс: `<link>`.
WebSockets
==========

**Веб-сокеты** это продвинутая технология, позволяющая открыть постоянное двунаправленное сетевое соединение между браузером пользователя и сервером. С помощью его API вы можете отправить сообщение на сервер и получить ответ без выполнения http запроса, причём этот процесс будет событийно-управляемым.

Документация
------------

Writing WebSocket client applications

Учебник описывающий как написать WebSocket клиента работающего в браузере.

Справочник по WebSocket (en-US)

A reference to the client-side WebSocket API.

(TBD) Writing WebSocket servers (en-US)

A guide to writing server-side code to handle the WebSocket protocol.

Tools
-----

* Socket.IO: A powerful cross-platform WebSocket API for Node.js.
* WebSocket-Node: A WebSocket server API implementation for Node.js.
* A more extensive list of frameworks and libraries here
Related Topics
--------------

* AJAX, JavaScript
Совместимость с браузерами
--------------------------

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

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

* RFC 6455 - The WebSocket Protocol
* WebSocket API Specification
* Server-Sent Events (en-US)
* WebSocket.us - a community-run, not-for-profit site about WebSocket
SpeechGrammar
=============

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

Интерфейс **`SpeechGrammar`** Web Speech API представляет собой набор слов или шаблонов слов, которые мы хотим, чтобы служба распознавания распознавала.

Грамматика определяется с использованием JSpeech Grammar Format (**JSGF**.) Другие форматы также могут поддерживаться в будущем.

Конструктор
-----------

`SpeechGrammar.SpeechGrammar()` (en-US)

Создаёт новый объект `SpeechGrammar` .

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

`SpeechGrammar.src` (en-US)

Устанавливает и возвращает строку, содержащую грамматику, внутри экземпляра объекта `SpeechGrammar` .

`SpeechGrammar.weight` (en-US) Необязательный

Устанавливает и возвращает вес объекта `SpeechGrammar` .

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


```js
var grammar =
  "#JSGF V1.0; grammar colors; public <color> = aqua | azure | beige | bisque | black | blue | brown | chocolate | coral | crimson | cyan | fuchsia | ghostwhite | gold | goldenrod | gray | green | indigo | ivory | khaki | lavender | lime | linen | magenta | maroon | moccasin | navy | olive | orange | orchid | peru | pink | plum | purple | red | salmon | sienna | silver | snow | tan | teal | thistle | tomato | turquoise | violet | white | yellow ;";
var recognition = new SpeechRecognition();
var speechRecognitionList = new SpeechGrammarList();
speechRecognitionList.addFromString(grammar, 1);
recognition.grammars = speechRecognitionList;

console.log(speechRecognitionList[0].src); // должно вернуть то же, что и содержимое переменной gramar
console.log(speechRecognitionList[0].weight); // должно вернуть 1 - столько же, сколько указано в 4-й строчке.
```

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

| Specification |
| --- |
| Web Speech API # speechreco-speechgrammar |

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

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

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

* Web Speech API
Worker
======

Интерфейс **`Worker`** из Web Workers API является представителем фоновой задачи, которая легко может быть создана и может передавать сообщения обратно создателю. Создание worker - это вызов конструктора `Worker()` и задание скрипта, выполняемого в потоке worker.

Workers могут, в свою очередь, порождать новые workers, если эти workers расположены в одном каталоге с родительской страницей (Примечание: вложенные workers в настоящее время не поддерживаются в Blink). Кроме того, workers могут использовать `XMLHttpRequest` для network I/O, при условии, что атрибуты `responseXML` и `channel` `XMLHttpRequest` всегда возвращают `null`.

Не все интерфейсы и функции могут быть использованы в скрипте, ассоциированном с `Worker`.

В Firefox, если вы хотите использовать workers в расширениях и хотели бы иметь доступ к js-ctypes, вам нужно использовать объект `ChromeWorker`.

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

*Наследует свойства родителя, `EventTarget`, и поддерживает свойства из `AbstractWorker` (en-US).*

### Обработчики событий

`AbstractWorker.onerror` (en-US)

`EventListener` (en-US) вызываемый каждый раз, когда из воркера приходит `ErrorEvent` (en-US) с типом `error`. Это событие унаследовано от `AbstractWorker` (en-US).

`Worker.onmessage`

`EventListener` (en-US) вызываемый каждый раз, когда из воркера приходит `MessageEvent` (en-US) с типом `message` — то есть когда сообщение было отправлено воркером в родительский документ с помощью `DedicatedWorkerGlobalScope.postMessage` (en-US). Сообщение передаётся в свойстве объекта события `data` (en-US).

Конструкторы
------------

`Worker()`

Создаёт dedicated web worker, выполняющий скрипт, расположенный по указанному URL. Воркеры также могут быть созданы с использованием Blobs.

Методы
------

*Наследует методы своего родителя, `EventTarget`, а также реализует методы `AbstractWorker` (en-US).*

`Worker.postMessage()`

Отправляет сообщение — которое может являться `любым` JavaScript объектом — во внутреннюю область видимости воркера.

`Worker.terminate()`

Немедленно завершает выполнение воркера. Не даёт воркеру возможности завершить выполняемые операции; просто сразу останавливается. Экземпляры ServiceWorker не поддерживают этот метод.

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

Представленный фрагмент кода показывает создание объекта `Worker` с помощью конструктора `Worker()`, а также его использование:


```js
var myWorker = new Worker("worker.js");

first.onchange = function () {
  myWorker.postMessage([first.value, second.value]);
  console.log("Message posted to worker");
};
```


For a full example, see ourBasic dedicated worker example (run dedicated worker).

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

| Specification |
| --- |
| HTML Standard # dedicated-workers-and-the-worker-interface |

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

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

See also
--------

* Using web workers
* Functions available to workers
* Другие типы воркеров: `SharedWorker` и ServiceWorker (en-US).
* Non-standard, Gecko-specific workers: `ChromeWorker`, used by extensions.
Текст
=====

Интерфейс **`Text`** представляет собой текстовое содержание (элемента) `Element` или `Attr`. Если элемент не имеет разметки внутри собственного содержимого, то он интерпретируется как a single child (implementing) `Text` ,который содержит текст элемента. Однако, если элемент содержит разметку, он разбивается на information items и `Text` nodes ,которые образуют его дочерние элементы.

Новые документы имеют единственный(одиночный) `Text` node для каждого блока текста. Со временем, могут быть созданы новые `Text` nodes, по мере того, как изменяется содержимое документа. Метод `Node.normalize()` производит слияние смежных объектов `Text` обратно в a single node для каждого блока текста.

EventTarget

Node

CharacterData

TextКонструктор
-----------

`Text()` (en-US) 
Экспериментальная возможность

Возвращает `Text` node с параметром, который представляет собой его текстовое содержимое.

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

*Inherits properties from its parent, `CharacterData`.*

`Text.isElementContentWhitespace` Только для чтения 

Возвращает флаг `Boolean` (en-US), сигнализирующий, содержит ли (или нет) text node только пробел(ы).

`Text.wholeText` (en-US) Только для чтения 

Возвращает `DOMString`, который содержит все `Text` nodes логически примыкающие к этому `Node`, соединённые как в документе.

`Text.assignedSlot` (en-US) Только для чтения 

Возвращает объект `HTMLSlotElement`, связанный с этим элементом.

### Свойства (included) от Slotable

*Интерфейс `Text` включает следующее свойство, определяемое при смешивании `Slotable` (en-US).*

`Slotable.assignedSlot` (en-US) Только для чтения 

Возвращает `HTMLSlotElement`, представляющий `<slot>`, в который вставлен данный узел.

Методы
------

*Наследует родительские методы, `CharacterData`.*

`Text.replaceWholeText` (en-US)

Заменяет текст текущего узла и всех логически прилегающих узлов указанным текстом(with the specified text).


`Text.splitText` (en-US)

Разбивает узел на два узла с заданным отступом.

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

| Specification |
| --- |
| DOM Standard # interface-text |

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

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

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

* The DOM interfaces index.
URLSearchParams
===============

**`URLSearchParams`** интерфейс определяет служебные методы для работы со строкой запроса URL.

Объект, реализующий `URLSearchParams`, может непосредственно использоваться в структуре `for...of`, например, следующие две строки идентичны:
```

for (var p of mySearchParams);
for (var p of mySearchParams.entries());
```


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

Конструктор
-----------

`URLSearchParams()` (en-US)

Конструктор возвращает объект `URLSearchParams`.

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

*Наследование свойств отсутствует.*

Методы
------

*Отсутствует наследование методов.*

`URLSearchParams.append()` (en-US)

Добавляет указанную пару key/value в качестве нового параметра поиска.

`URLSearchParams.delete()`

Удаляет заданный параметр поиска и связанное с ним значение из списка всех параметров поиска.

`URLSearchParams.entries()` (en-US)

Возвращает `iterator`, позволяющий пройти через все пары key/value, содержащиеся в этом объекте.

`URLSearchParams.get()` (en-US)

Возвращает первое значение, связанное с заданным параметром поиска.

`URLSearchParams.getAll()` (en-US)

Возвращает все значения ассоциации с заданным параметром поиска.

`URLSearchParams.has()` (en-US)

Возвращает `Boolean`, указывающий, существует ли такой параметр поиска.

`URLSearchParams.keys()` (en-US)

Возвращает `iterator`, позволяющий пройти все ключи пары key/value, содержащиеся в этом объекте.

`URLSearchParams.set()` (en-US)

Устанавливает значение, связанное с заданным параметром поиска, с заданным значением. Если было несколько значений, удалите остальные.

`URLSearchParams.toString()` (en-US)

Возвращает строку, содержащую строку запроса, подходящую для использования в URL-адресе.

`URLSearchParams.values()` (en-US)

Возвращает `iterator`, позволяющий пройти через все значения пар key/value, содержащихся в этом объекте.

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


```js
var paramsString = "q=URLUtils.searchParams&topic=api";
var searchParams = new URLSearchParams(paramsString);

// Итерируем параметры поиска.
for (let p of searchParams) {
  console.log(p);
}

searchParams.has("topic") === true; // true
searchParams.get("topic") === "api"; // true
searchParams.getAll("topic"); // ["api"]
searchParams.get("foo") === null; // true
searchParams.append("topic", "webdev");
searchParams.toString(); // "q=URLUtils.searchParams&topic=api&topic=webdev"
searchParams.set("topic", "More webdev");
searchParams.toString(); // "q=URLUtils.searchParams&topic=More+webdev"
searchParams.delete("topic");
searchParams.toString(); // "q=URLUtils.searchParams"
```

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

| Specification |
| --- |
| URL Standard # urlsearchparams |

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

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

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

* Other URL-related interfaces: `URL`, `URLUtils`.
* Google Developers: Easy URL manipulation with URLSearchParams
FileList
========

Объект этого типа возвращается свойством `<input>` элемента, что позволяет получить список выбранных файлов из `<input type="file">`. Также используется для получения списка файлов, брошенных в область веб-контента (**Web content**) по средствам drag and drop API. Смотрите DataTransfer (en-US) для детального понимания как это использовать.

**Примечание:** До версии Gecko 1.9.2, input элемент поддерживает только один выбранный файл, это значит что FileList содержит только один файл. Начиная с Gecko 1.9.2, если input содержит атрибут multiple=true, то FileList может содержать несколько файлов.

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

Все `<input>` элементы имеют файловые массивы которые позволяют получить доступ к файлам. Пример файлового тега:
```

<input id="fileItem" type="file">
```


`Этот код извлекает первый File` object из списка:


```js
var file = document.getElementById("fileItem").files[0];
```

Обзор методов
-------------

| `File item(index);` |
| --- |

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

| Атрибут | Тип | Описание |
| --- | --- | --- |
| `length` | `integer` | Количество файлов в списке, свойство только для чтения (read-only) |

Методы
------

### item()

Возвращает `File` (en-US) объект по его индексу в списке.
```

 File item(
   index
 );
```


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

`index`

Отсчитываемый от нуля индекс файла для извлечения из списка.

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

`Тип File, соотвествует запрашиваемому файлу.`

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

Этот пример выполняет перебор всех файлов, выбранных пользователем, используя элемент Input:


```js
// fileInput это HTML input элемент: <input type="file" id="myfileinput" multiple>
var fileInput = document.getElementById("myfileinput");

// files это FileList объект (похож на NodeList)
var files = fileInput.files;
var file;

// обходит файлы используя цикл
for (var i = 0; i < files.length; i++) {
  // получаем сам файл
  file = files.item(i);
  // или можно так
  file = files[i];

  alert(file.name);
}
```


Здесь пример посложнее.


```html
<!doctype html>
<html>
  <head> </head>
  <body>
    <!--атрибут multiple позволяет выбрать сразу несколько файлов-->

    <input id="myfiles" multiple type="file" />
  </body>

  <script>
 var pullfiles = function () {
 // выбираем файловые инпуты на странице
 var fileInput = document.querySelector("#myfiles");
 var files = fileInput.files;
 // кешируем files.length
 var fl = files.length;
 var i = 0;

 while (i < fl) {
 // локализуем файловую переменную в цикле
 var file = files[i];
 alert(file.name);
 i++;
 }
 };

 // привязываем событие изменения input
 document.querySelector("#myfiles").onchange = pullfiles;

 //a.t
 </script>
</html>
```

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

* File upload state (HTML5 working draft)
Смотрите также
--------------

* Using files from web applications
* `File` (en-US)
* `FileReader` (en-US)
VRDisplayEvent
==============

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

Интерфейс VRDisplayEvent API WebVR представляет объект событий, связанных с WebVR (Подробнее - см. Список расширений окна WebVR)

Constructor
-----------

`VRDisplayEvent.VRDisplayEvent()` (en-US)

Создаёт экземпляр объекта VRDisplayEvent.

Properties
----------

*`VRDisplayEvent` также наследует свойства от своего родительского объекта, `Event`.*

`VRDisplayEvent.display` Только для чтения 

`VRDisplay` (en-US) связанный с этим событием.

`VRDisplayEvent.reason` (en-US) Только для чтения 

Определяемая человеческим фактором причина, по которой произошло событие.

Examples
--------


```js
window.addEventListener("vrdisplaypresentchange", function (e) {
  console.log(
    "Display " +
      e.display.displayId +
      " presentation has changed. Reason given: " +
      e.reason +
      ".",
  );
});
```

Specifications
--------------

#### No specification found

No specification data found for `api.VRDisplayEvent`.  
Check for problems with this page or contribute a missing `spec_url` to mdn/browser-compat-data. Also make sure the specification is included in w3c/browser-specs.

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

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

See also
--------

* WebVR API
DOMStringMap
============

Used by the `dataset` HTML attribute to represent data for custom attributes added to elements.

Доступные методы
----------------

| `DOMString getDataAttr(in DOMString prop);` |
| --- |
| `boolean hasDataAttr(in DOMString prop);` |
| `void removeDataAttr(in DOMString prop);` |
| `void removeProp(in nsIAtom attr);` |
| `void setDataAttr(in DOMString prop, in DOMString value);` |

Методы
------

### hasDataAttr()
```

boolean hasDataAttr(
  in DOMString prop
);
```


#### Аргументы

`prop`

The property for which to check for the existence of a value.

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

`true` if the property exists; otherwise `false`.

### removeDataAttr()
```

void removeDataAttr(
  in DOMString prop
);
```


#### Parameters

`prop`

The property to remove from the data set.

### removeProp()

Removes the property from the dataset object. Used to update the dataset object when data-\* attribute has been removed from the element.
```

void removeProp(
  in nsIAtom attr
);
```


#### Parameters

`attr`

The property to remove from the dataset.

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

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

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

* `HTMLElement.dataset` (en-US)
* `dataset`
EventSource
===========

`Интерфейс EventSource` используется для получения серверных событий (Server-sent events). Он устанавливает соединение с сервером по HTTP и получает события в формате text/event-stream без закрытия соединения.

Вы можете присвоить атрибуту `onmessage` JavaScript-функцию для получения нетипизированных сообщений (то есть сообщений без поля `event`). Вы так же можете вызвать функцию `addEventListener()` для обработки событий так же, как для любого другого источника событий.

См. Using server-sent events для более детальной информации

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

| Attribute | Type | Description |
| --- | --- | --- |
| `onerror` | `nsIDOMEventListener` | JavaScript-функция, вызываемая при появлении ошибки |
| `onmessage` | `nsIDOMEventListener` | JavaScript-функция, вызываемая при приходе сообщения без поля `event` |
| `onopen` | `nsIDOMEventListener` | JavaScript-функция, вызываемая после открытия соединения |
| `readyState` | `long` | Состояние соединения, должно иметь одно из значений `CONNECTING`, `OPEN`, или `CLOSED`. **Только для чтения** |
| `url` | `DOMString` | **Только для чтения** |

В дополнение к открытым атрибутам два внутренних атрибута, которые не открыты напрямую:

reconnection time

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

last event ID string

По умолчанию пустая строка. Сервер может отправлять сообщение с полем `id` для установки этого значения.

Константы
---------

| Constant | Value | Description |
| --- | --- | --- |
| `CONNECTING` | `0` | Соединение устанавливается |
| `OPEN` | `1` | Соединение открыто, получение событий |
| `CLOSED` | `2` | Соединение не устанавливается, закрыто, или произошла фатальная ошибка |

Методы
------

### close()

Закрывает соединение, если оно существует и устанавливает атрибут `readyState` в значение `CLOSED`. Если соединение уже закрыто, этот метод ничего не делает.
```

void close();
```


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

Нет

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

| Specification |
| --- |
| HTML Standard # the-eventsource-interface |

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

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

**`EventTarget`** - это интерфейс, реализуемый объектами, которые могут генерировать события и могут иметь подписчиков на эти события.

Наиболее частые генераторы событий - `Element`, `document`, и `window`, но другие объекты так же могут использоваться в качестве источников событий , например `XMLHttpRequest`, `AudioNode`, `AudioContext`, и другие.

Многие источники событий (включая элементы, документ и окно) также поддерживают установку обработчиков событий (en-US) с помощью on`...` свойств и атрибутов.

Методы
------

`EventTarget.addEventListener()`

Регистрирует обработчик событий указанного типа на объекте.

`EventTarget.removeEventListener()`

Удаляет обработчик события.

`EventTarget.dispatchEvent()`

Генерирует событие на объекте `EventTarget`.

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

| Specification |
| --- |
| DOM Standard # interface-eventtarget |

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

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

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

* Event reference (en-US) - доступные события на платформе.
* Event developer guide
* `Event` interface