recursal/MDN huggingface dataset:
CharacterData
=============

Абстрактный интерфейс **`CharacterData`** представляет собой объект `Node`, который содержит символы. "Абстрактность" интерфейса означает то, что не существует объектов типа `CharacterData`: интерфейс **`CharacterData`** реализуется посредством других интерфейсов, таких как `Text`, `Comment`, или `ProcessingInstruction` (en-US), которые не являются абстрактными.

EventTarget

Node

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

*Наследует свойства родителя, `Node`, реализуется с помощью `ChildNode` и `NonDocumentTypeChildNode` (en-US)интерфейсов.*

`CharacterData.data` (en-US)

- это `DOMString`, представляющая(ий) текстовые данные, которые содержит этот объект (DOMString).

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

Возвращает an `unsigned long` и отображает размер строки, содержащейся в `CharacterData.data`.

`NonDocumentTypeChildNode.nextElementSibling` Только для чтения 

Возвращает `Element` следующий сразу после указанного `Element` элемента в дочернем списке своего родителя, или `null` если указанный элемент - последний в списке.

`NonDocumentTypeChildNode.previousElementSibling` Только для чтения 

Возвращает `Element` непосредственно до указанного элемента в дочернем списке своего родительского элемента, или `null` если указанный элемент - первый в списке.

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

*Наследует методы родителя, `Node`, и реализует(ся) (через) (`ChildNode` *и `NonDocumentTypeChildNode` (en-US)интерфейсы*.*

`CharacterData.appendData()` (en-US)

Добавляет указанную `DOMString` к строке `CharacterData.data`; после выполненияданные содержат объединённый(элемент) `DOMString`.

`CharacterData.deleteData()` (en-US)

Удаляет указанное количество символов, начиная с указанного отступа, из строки `CharacterData.data`; после выполнения метода, данные(`data)` содержат урезанный `DOMString`.

`CharacterData.insertData()` (en-US)

Inserts the specified characters, at the specified offset, in the `CharacterData.data` string; when this method returns, `data` contains the modified `DOMString`.

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

Удаляет объект из its parent children списка.

`CharacterData.replaceData()` (en-US)

Заменяет указанное количество символов, начиная с указанного отступа, с указанным `DOMString`; после выполнения метода, данные(`data)` содержат изменений `DOMString`.

`CharacterData.substringData()` (en-US)

Возвращает `DOMString`, содержащую(ий) часть `CharacterData.data` указанной длины и начиная с указанного отступа.

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

| Specification |
| --- |
| DOM Standard # interface-characterdata |

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

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

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

* The DOM interfaces index.
BroadcastChannel
================

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

Newly availableSince March 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
Интерфейс **`BroadcastChannel`** представляет собой именованный канал, на который можно подписаться из любого контекста просмотра данного источника. Это позволяет настроить коммуникацию между разными документами (в разных окнах, вкладках, фреймах и т.д.) одного источника. Сообщения распространяются с помощью события `message`, выстреливающего для всех объектов `BroadcastChannel`, слушающих этот канал.

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

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

`BroadcastChannel()` (en-US)

Создаёт объект, связанный с именованным каналом.

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

*Этот интерфейс также наследует свойства от своего родителя, `EventTarget`.*

`BroadcastChannel.name` (en-US)

Возвращает `DOMString`, имя канала.

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

`BroadcastChannel.onmessage` (en-US)

`event handler` свойство, определяющее функцию, которая будет запущена, когда произойдёт вызов события `message` на этом объекте.

`BroadcastChannel.onmessageerror` (en-US)

`event handler`, который вызывается, когда приходит `MessageEvent` (en-US) типа `MessageError` — когда приходит сообщение, которое не может быть десереализовано.

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

*Этот интерфейс также наследует свойства от своего родителя,`EventTarget`.*

`BroadcastChannel.postMessage()`

Отправляет сообщение любого типа объекта всем объектам `BroadcastChannel`, прослушивающим данный канал.

`BroadcastChannel.close()` (en-US)

Закрывает объект канала, указывая, что тот больше не будет получать новые сообщения, и позволяет сборщику мусора уничтожить его.

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

| Specification |
| --- |
| HTML Standard # broadcasting-to-other-browsing-contexts |

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

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

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

* Another, more heavyweight, way of communicating between browser contexts: `ServiceWorker`.
* Broadcast Channel API overview (en-US)
XMLSerializer
=============

`XMLSerializer` может быть использован для конвертации веток DOM-дерева или дерева целиком в текст. `XMLSerializer` доступен непривилегированным скриптам.

Для получения более подробной информации об `XMLSerializer` в расширениях для браузера Firefox, пожалуйста обратитесь к документации `nsIDOMSerializer`.

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

`XMLSerializer.serializeToString()`

Возвращает сериализованное дерево или ветку в виде строки

`XMLSerializer.serializeToStream()` 
Non-standard

Устарело

Поддерево, обёрнутое в указанный элемент, сериализуется в поток байтов с использованием указанной кодировки.

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


```js
var s = new XMLSerializer();
var d = document;
var str = s.serializeToString(d);
alert(str);
```


The next example uses XMLSerializer with insertAdjacentHTML() (en-US) to insert a newly created DOM Node into the Document's body. Because insertAdjacentHTML() (en-US) accepts a string and not a Node for its second parameter, XMLSerializer is used to first convert the node into a string.


```js
var inp = document.createElement("input");
var XMLS = new XMLSerializer();
var inp_xmls = XMLS.serializeToString(inp); // Конвертируем DOM-элемент в строку

// Вставляет вновь созданный элемент в тело документа
document.body.insertAdjacentHTML("afterbegin", inp_xmls);
```

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

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

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

* Parsing and serializing XML
* XMLHttpRequest
* DOMParser
HTMLBaseElement
===============

**`HTMLBaseElement`** интерфейс содержит базовый URI для документа. Этот объект наследует все свойства и методы которые описаны в `HTMLElement` интерфейсе.

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

*Наследует свойства от его родителя, `HTMLElement`.*

`HTMLBaseElement.href`

Это `DOMString` которая отображает `href` HTML атрибут, содержащий базовый URL относительно URLs ы документе.

`HTMLBaseElement.target` (en-US)

Это `DOMString` которое отображает `target` HTML атрибут, содержащий контекст цели просмотра по умолчанию или фрейм для элементов которые не имеют указанную целевую ссылку.

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

*Не имеет специфичных методов; наследует атрибуты от своего родителя, `HTMLElement`.*

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

| Specification |
| --- |
| HTML Standard # htmlbaseelement |

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

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

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

* HTML-элемент реализующий этот интерфейс: `<base>`
USB
===

Limited availability
--------------------

This feature is not Baseline because it does not work in some of the most widely-used browsers.

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

**Secure context:** This feature is available only in secure contexts (en-US) (HTTPS), in some or all supporting browsers.

Интерфейс **`USB`** WebUSB API (en-US) представляет атрибуты и методы для поиска и подключения USB устройств из WEB страницы.

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

Нет.

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

`USB.onconnect`

Обработчик событий вызывается всегда, когда ранее сопряжённое устройство подключается.

`USB.ondisconnect`

Обработчик событий вызывается всегда, когда ранее сопряжённое устройство отключается.

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

`USB.getDevices()`

Возвращает `Promise`, который разрешается массивов объектов `USBDevice` (en-US) сопряжённых устройств.

`USB.requestDevice()`

Возвращает `Promise`, который разрешается экземпляром `USBDevice` (en-US), если указанное устройство найдено. Вызов этой функции запускает поток сопряжения агента пользователя.

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

| Specification |
| --- |
| WebUSB API # usb |

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

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

Интерфейс **`ImageBitmap`** представляет собой bitmap изображение которое может быть нарисовано на `<canvas>` без чрезмерной задержки. Создать его можно несколькими способами используя `createImageBitmap()` (en-US). `ImageBitmap` предоставляет асинхронный и ресурсоэффективный метод подготовки текстур для рендеринга в WebGL.

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

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

Высота `ImageData` в CSS пикселях типа `unsigned` `long`.

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

Ширина `ImageData` в CSS пикселях типа `unsigned` `long`.

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

`ImageBitmap.close()` (en-US)

Удаляет все графические ресурсы связанные с `ImageBitmap`.

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

| Specification |
| --- |
| HTML Standard # imagebitmap |

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

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

Полезные ссылки
---------------

* `ImageBitmapFactories.createImageBitmap()` (en-US)
* `CanvasRenderingContext2D.drawImage()`
* `WebGLRenderingContext.texImage2D()` (en-US)
* `OffScreenCanvas.transferToImageBitmap()` (en-US)
HTMLUnknownElement
==================

Интерфейс **`HTMLUnknownElement`** предоставляет недопустимый HTML-элемент и происходит от интерфейса `HTMLElement`, но без каких либо дополнительных свойств и методов.

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

*Нет специфичных свойств; наследует свойства от его родителя `HTMLElement`.*

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

*Нет специфичных методов; наследует методы от его потомка, `HTMLElement`.*

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

| Specification |
| --- |
| HTML Standard # htmlunknownelement |

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

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

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

* Устаревшие или нестандартные HTML-элементы реализующие этот интерфейс: `<bgsound>` (en-US), `<isindex>`, `<multicol>`, `<nextid>`, `<rb>` (en-US), `<spacer>`
HTMLContentElement
==================

Baseline Widely available
-------------------------

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

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

The **`HTMLContentElement`** interface represents a `<content>` (en-US) HTML Element, which is used in Shadow DOM (en-US).

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

*This interface inherits the properties of `HTMLElement`.*

`HTMLContentElement.select` (en-US)

Is a `DOMString` that reflects the `select` (en-US) HTML attribute. The value is a comma-separated list of CSS selectors that select the content to insert in place of the `<content>` element.

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

*This interface inherits the methods of `HTMLElement`.*

`HTMLContentElement.getDistributedNodes()` (en-US)

Returns a static `NodeList` of the distributed nodes associated with this `<content>` element.

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

This feature is no longer defined by any standards.

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

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

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

* The `<content>` (en-US) HTML element, implementing this interface.
* Shadow DOM (en-US)
File
====

Интерфейс **`File`** представляет информацию о файлах и предоставляет JavaScript в веб странице доступ к их контенту.

`Объекты File` как правило извлекаются из объекта `FileList`, который возвращён как результат пользовательского выбора файлов с помощью `<input>` элемента, из drag and drop операций `DataTransfer` объекта, или из `mozGetAsFile()` API на `HTMLCanvasElement`. В Gecko, привилегированный код может создать файл представляющий любой локальный файл без пользовательского взаимодействия (см. Gecko notes для получения большей информации).

Объект `File` - особый вид `Blob`, и может быть использован в любом контексте так же, как и Blob. В частности, `FileReader`, `URL.createObjectURL()`, `createImageBitmap()` (en-US), и `XMLHttpRequest.send()` допускают и `Blob,` и `File`.

Смотри Использование файлов в веб приложениях для получения более подробной информации и примеров.

Свойства экземпляра
-------------------

*Интерфейс `File` также наследует свойства от `Blob` интерфейса:*

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

Возвращает время последнего изменения файла в миллисекунде с эпохи UNIX (1 января 1970 года в 00:00:00 в часовом поясе UTC).

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

Возвращает дату последнего изменения файла, на который ссылается объект File.

`File.name` Только для чтения 

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

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

Возвращает размер файла.

`File.webkitRelativePath` (en-US) Только для чтения  
Non-standard

Возвращает URL адрес, где расположен `File`.

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

Возвращает MIME тип файла.

Методы экземпляра
-----------------

*Интерфейс `File` не определяет собственных методов, но наследует методы интерфейса `Blob`.*

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

| Specification |
| --- |
| File API # file-section |

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

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

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

* Использование файлов из веб-приложений
* `FileReader`
HTMLTimeElement
===============

**`HTMLTimeElement`** даёт специальные свойства (beyond the regular `HTMLElement` interface it also has available to it by inheritance) для управления `<time>` элементами.

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

*Наследует свойства от родителя `HTMLElement`.*

`HTMLTimeElement.dateTime` (en-US)

Это `DOMString` который отражает `datetime` HTML атрибут, содержащий понятный для машин формат даты и времени.

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

*Нет определённого метода; наследует его у родителя, `HTMLElement`.*

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

| Specification |
| --- |
| HTML Standard # htmltimeelement |

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

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

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

* HTML-элемент, реализующий данный интерфейс: `<time>`.
FetchEvent
==========

Это тип событий `fetch`, обрабатываемых в глобальном контексте service worker (en-US). Данное событие содержит данные о запросе, включая его цель. Оно предоставляет метод `event.respondWith()` (en-US), с помощью которого service worker может ответить на запрос.

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

`FetchEvent()` (en-US)

Создаёт новый объект `FetchEvent`. Как правило, данный конструктор не используется. Браузер самостоятельно создаёт данные объекты и передаёт их в обработчик событий `fetch`.

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

*Данный класс наследует все свойства класса `Event`*.

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

`Идентификатор` (en-US) `клиента` (en-US) того же источника, отправившего запрос.

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

`Промис` для `запроса`, или же пустой промис, если не произошла навигация или предзагрузка навигации (en-US) отключена.

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

Запрос (`Request`) от браузера.

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

`Идентификатор` (en-US) `клиента` (en-US), заменяемого при навигации.

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

`Идентификатор` (en-US) `клиента` (en-US), заменившего прошлый клиент при навигации.

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

*Данный класс наследует методы класса* *`ExtendableEvent` (en-US)*.

`fetchEvent.respondWith()` (en-US)

Перехватывает запрос и отправляет промис с ответом.

`extendableEvent.waitUntil()`

Продлевает выполнение обработчика события до завершения переданного промиса. Используется чтобы уведомить браузер о событии, продолжающемся после отправки ответа, таком как обновление кеша или потоковая передача.

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

В данном примере все не-GET запросы будут обрабатываться стандартными средствами браузера. В случае GET запросов, service worker попробует найти ответ в кеше, а в случае его отсутствия получит данные с сервера. Также, он асинхронно обновит данные в кеше.


```js
self.addEventListener("fetch", (event) => {
  // В случае не-GET запроса браузер должен сам обрабатывать его
  if (event.request.method != "GET") return;

  // Обрабатываем запрос с помощью логики service worker
  event.respondWith(
    (async function () {
      // Пытаемся получить ответ из кеша.
      const cache = await caches.open("dynamic-v1");
      const cachedResponse = await cache.match(event.request);

      if (cachedResponse) {
        // Если кеш был найден, возвращаем данные из него
        // и запускаем фоновое обновление данных в кеше.
        event.waitUntil(cache.add(event.request));
        return cachedResponse;
      }

      // В случае, если данные не были найдены в кеше, получаем их с сервера.
      return fetch(event.request);
    })(),
  );
});
```

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

| Specification |
| --- |
| Service Workers # fetchevent-interface |

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

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

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

* `Promise`
* Fetch API
FontFace
========

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

Интерфейс **`FontFace`** представляет единый используемый шрифт. Он позволяет контролировать источник шрифта, являющийся URL-адресом внешнего ресурса или буфера; а также контролировать момент загрузки шрифта и его текущее состояние.

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

`FontFace()` (en-US)

Создаёт и возвращает новый объект `FontFace`, созданный из внешнего ресурса, описанного URL-адресом или из `ArrayBuffer`.

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

*Этот интерфейс не наследует свойства.*

`FontFace.display` (en-US)

`CSSOMString` (en-US) определяет способ отображения шрифта, основываясь на информации о статусе его загрузки и готовности к использованию.

`FontFace.family` (en-US)

`CSSOMString` (en-US) получает или устанавливает *семейство* шрифта. Эквивалентен дескриптору `font-family`.

`FontFace.featureSettings` (en-US)

`CSSOMString` (en-US) получает или устанавливает редко используемые возможности шрифта. Эквивалентен дескриптору `font-feature-settings` (en-US).

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

Возвращает `Promise` (en-US), которое выполняется для текущего объекта `FontFace`, когда специфичный шрифт, указанный в конструкторе объекта, завершает загрузку, либо отклоняется с помощью `SyntaxError`.

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

Возвращает перечисляемое значение, указывающее на состояние шрифта : `"unloaded"`, `"loading"`, `"loaded"`, или `"error"`.

`FontFace.stretch` (en-US)

`CSSOMString` (en-US) получает или устанавливает свойство *растягивания* шрифта. Эквивалентен дескриптору `font-stretch` (en-US).

`FontFace.style` (en-US)

`CSSOMString` (en-US) получает или устанавливает *стиль* шрифта. Эквивалентен дескриптору `font-style` (en-US).

`FontFace.unicodeRange` (en-US)

`CSSOMString` (en-US) получает или устанавливает *диапазон точек кодирования Юникод*, охватывающих шрифт. Эквивалентен дескриптору `unicode-range` (en-US).

`FontFace.variant` (en-US)

`CSSOMString` (en-US) получает или устанавливает *вариант* шрифта. Эквивалентен дескриптору `font-variant` (en-US).

`FontFace.weight` (en-US)

`CSSOMString` (en-US) содержит *толщину* шрифта. Эквивалентен дескриптору `font-weight` (en-US).

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

*Этот интерфейс не наследует методы.*

`FontFace.load()` (en-US)

Загружает шрифт, основываясь на переданных требованиях конструктора текущего объекта, включая расположение или ресурсный буфер, и возвращает `Promise`, которое выполняется для текущего объекта FontFace.

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

| Specification |
| --- |
| CSS Font Loading Module Level 3 # fontface-interface |

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

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

Объект `WebSocket` предоставляет API для создания и управления WebSocket-соединением с сервером, а также для отправки и получения данных через это соединение.

Для создания `WebSocket` используйте конструктор `WebSocket()` (en-US).

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

EventTarget

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

`WebSocket()` (en-US)

Возвращает созданный объект `WebSocket`.

Свойства экземпляра
-------------------

`WebSocket.binaryType` (en-US)

Тип используемых в соединении бинарных данных.

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

Количество байтов данных в очереди.

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

Расширения, выбранные сервером.

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

Подпротокол, выбранный сервером.

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

Текущее состояние соединения.

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

Абсолютный URL-адрес WebSocket.

Методы экземпляра
-----------------

`WebSocket.close()` (en-US)

Закрывает соединение.

`WebSocket.send()` (en-US)

Добавляет в очередь данные для отправки.

События
-------

Подписывайтесь на события с помощью `addEventListener()` или присвоением обработчика события свойству `oneventname` этого интерфейса.

`close` (en-US)

 Возникает, когда соединение с `WebSocket` закрыто.
 Также доступно через свойство `onclose`

`error` (en-US)

 Возникает, когда соединение с `WebSocket` было закрыто из-за ошибки, например, когда не удалось отправить какие-то данные.
 Также доступно через свойство `onerror`.


`message` (en-US)

 Возникает, когда через `WebSocket` получены данные.
 Также доступно через свойство `onmessage`.


`open` (en-US)

 Возникает, когда соединение с `WebSocket` открыто.
 Также доступно через свойство `onopen`.


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


```js
// Создание WebSocket-соединения.
const socket = new WebSocket("ws://localhost:8080");

// Соединение открыто
socket.addEventListener("open", (event) => {
  socket.send("Hello Server!");
});

// Получение сообщений
socket.addEventListener("message", (event) => {
  console.log("Message from server ", event.data);
});
```

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

| Specification |
| --- |
| WebSockets Standard # the-websocket-interface |

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

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

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

* Написание клиентских приложений с помощью веб-сокетов