recursal/MDN huggingface dataset:
BackgroundFetchEvent
====================

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

Интерфейс **`BackgroundFetchEvent`** Background Fetch API это тип события для событий фоновых запросов, отправляемых в `глобальный контекст выполнения сервис-воркера` (en-US).

Это тип события, передаваемый при `onbackgroundfetchabort` и `onbackgroundfetchclick`.

Event

ExtendableEvent

(en-US)

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

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

Создаёт новый объект `BackgroundFetchEvent`. Этот конструктор обычно не используется, так как браузер создаёт такие объекты самостоятельно и, затем, передаёт их для колбэков событий фоновых запросов.

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

*Наследует свойства от своего предка, `Event`*.

`BackgroundFetchEvent.registration` Только для чтения  
Экспериментальная возможность

Возвращает `BackgroundFetchRegistration`, для которого было инициализировано событие.

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

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

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

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

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

В этом примере, если пользователь кликнет по элементу, отображающему ход загрузки, то откроется новое окно. Текущий `BackgroundFetchRegistration` возвращается вызовом `event.registration`.


```js
addEventListener("backgroundfetchclick", (event) => {
  const bgFetch = event.registration;

  if (bgFetch.result === "success") {
    clients.openWindow("/latest-podcasts");
  } else {
    clients.openWindow("/download-progress");
  }
});
```

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

| Specification |
| --- |
| Background Fetch # background-fetch-event |

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

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

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

Интерфейс **`ClipboardEvent`** представляет события, предоставляющие информацию, связанную с изменением буфера обмена, этими события являются `cut (en-US)`, `copy (en-US)` и `paste (en-US)`.

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

*Интерфейс наследует свойства от родителя `Event`*.

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

Является `DataTransfer` объектом, который содержит данные, полученные от совершения пользователем операции `cut (en-US)`, `copy (en-US)` или `paste (en-US)`, а также их MIME тип.

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

`ClipboardEvent()` (en-US)

Создаёт `ClipboardEvent` событие с переданными параметрами.

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

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

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

| Specification |
| --- |
| Clipboard API and events # clipboard-event-interfaces |

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

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

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

* События, связанные с копированием в буфер: `copy (en-US)`, `cut (en-US)`, `paste (en-US)`
Clipboard API
=============

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
**Clipboard API** предоставляет возможность реагировать на команды буфера обмена (вырезать, копировать и вставить), а также выполнять асинхронные чтение/запись в системный буфер обмена. Доступ к содержимому буфера обмена осуществляется через Permissions API (en-US): `clipboard-write` (разрешение на запись) в буфер обмена автоматически предоставляется страницам, когда они находятся на активной вкладке. Для `clipboard-read` (чтение из буфера обмена) должно быть запрошено разрешение пользователя. Можно сделать запрос на разрешение, попытавшись прочитать данные из буфера обмена.
API предназначен заменить `document.execCommand()` в качестве способа для доступа к буферу обмена.

Доступ к буферу обмена
----------------------

Вместо создания объекта буфера посредством инициализации экземпляра, вы получаете доступ к системному буферу обмена через глобальный `Navigator.clipboard` (en-US):


```js
navigator.clipboard
  .readText()
  .then(
    (clipText) => (document.querySelector(".editor").innerText += clipText),
  );
```


Этот фрагмент извлекает текст из буфера обмена и добавляет его к первому элементу, найденному с помощью `editor` (редактора) классов. Этот код безопасен, поскольку `readText()` (en-US) (и `read()` (en-US), если на то пошло) возвращает пустую строку, если в буфере обмена нет текста.

Интерфейсы
----------

`Clipboard` (en-US) Secure context

Предоставляет интерфейс для чтения/записи текста и данных в системный буфер обмена. В спецификации называется 'Async Clipboard API (API асинхронного буфера обмена)'.

`ClipboardEvent` Secure context

Представляет события, содержащие информацию, относящуюся к модификации буфера обмена, а именно `cut` (en-US), `copy` (en-US) и `paste` (en-US) события. В спецификации называется 'Clipboard Event API (API событий буфера обмена)'.

`ClipboardItem` (en-US) Secure context

Представляет единый формат элемента, используемый при чтении или записи данных.

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

| Specification |
| --- |
| Clipboard API and events # clipboard-interface |
| Clipboard API and events # clipboard-event-interfaces |
| Clipboard API and events # clipboarditem |

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

### api.Clipboard

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

### api.ClipboardEvent

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

### api.ClipboardItem

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

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

* Async Clipboard API demo on Glitch (Демонстрация API асинхронного буфера на Glitch)
* Image support for Async Clipboard article (Поддержка изображений в асинхронном буфере обмена)
* Permissions API (en-US)
* Using the Permissions API (en-US)
Document.async
==============

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

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

`document.async` может быть установлен, для того, чтобы определить, что вызов `document.load` должен быть выполнен синхронно или не синхронно. `true` - стандартное значение, определяющее, асинхронно ли должны быть загружены документы.

(Загружать документы синхронно стало возможно с версии 1.4 alpha.)

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


```js
function loadXMLData(e) {
  alert(new XMLSerializer().serializeToString(e.target)); // Gives querydata.xml contents as string
}

var xmlDoc = document.implementation.createDocument("", "test", null);

xmlDoc.async = false;
xmlDoc.onload = loadXMLData;
xmlDoc.load("querydata.xml");
```

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

* DOM Level 3 Load & Save module
Смотрите также
--------------

* XML in Mozilla
* `document.load`
Clients
=======

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

Интерфейс `Clients` Service Workers API (en-US) представляет собой контейнер со списком объектов `Client` (en-US).

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

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

Получает клиента сервис воркера, соответствующего данному `id,` и возвращает его в `Promise`.

`Clients.matchAll()` (en-US)

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

`Clients.openWindow()`

Открывает `Client` (en-US) сервис воркера в новом окне браузера.

`Clients.claim()`

Позволяет активному Сервис Воркеру установить себя, как активного воркера для клиентской страницы, когда воркер и страница находятся в одной области.

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


```js
clients.matchAll(options).then(function (clients) {
  for (i = 0; i < clients.length; i++) {
    if (clients[i] === "index.html") {
      clients.openWindow(clients[i]);
      // или сделать что-то другое, с учётом подошедшего клиента
    }
  }
});
```

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

| Specification |
| --- |
| Service Workers # clients-interface |

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

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

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

* Using Service Workers (en-US)
* Service workers basic code example
* Is ServiceWorker ready?
* `Promise`
* Using web workers (en-US)
Console API
===========

Console API обеспечивает функциональность, которая позволяет разработчикам выполнять задачи по отладке, такие как логирование сообщений или значений переменных в определённых местах кода, измерение времени, требуемое на выполнение задачиПонятие и использование
-----------------------

Console API изначально было собственным API с различной браузерной реализацией. Спецификация Console API была создана, чтобы согласовать поведение. Сейчас все современные браузеры используют эту реализацию. Хотя некоторые реализации имеют свои собственные функции. Узнать больше можно здесь:

* Google Chrome DevTools implementation
* Safari DevTools implementation

Использование крайне простое — объект `console` (`window.console` в браузерах или `WorkerGlobalScope.console` (en-US) в Web Worker) содержит множество методов, которые вы можете вызвать для выполнения отладки. В основном используется для вывода веб-консоль различных значений.

Один из самых часто используемых методов `console.log`, который используют для вывода текущего значения переменной.

Интерфейсы
----------

`console`

Обеспечивает простую функциональность для отладки. Включает в себя логирование, трассировку, таймеры и счётчики.

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


```js
let myString = "Hello world";

// Вывод "Hello world" в консоль
console.log(myString);
```


Смотрите больше примеров на странице Console.

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

| Specification |
| --- |
| Console Standard # console-namespace |

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

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

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

* Инструменты разработчика
* Веб-консоль — как Веб-консоль в Firefox работает с вызовами Console API
* Отладка удалённых скриптов — как увидеть консоль, когда выполняется отладка на мобильных устройствах
DocumentFragment
================

Интерфейс DocumentFragment представляет собой минимальный объект документа, который не имеет родителя. Он используется как лёгкая версия `Document`, чтобы хранить хорошо сформированные или потенциально не хорошо формированные фрагменты XML.

Различные другие методы могут взять document fragment в качестве аргумента (например, любые методы интерфейса Node, такие как Node.appendChild и Node.insertBefore), в этом случае прикрепляются или вставляются дети фрагмента, а не сам фрагмент.

Этот интерфейс также хорошо используется с веб-компонентами: `<template>` элементы содержат `DocumentFragment` в их `HTML Template Element.content` свойствах.

Пустой `DocumentFragment` может быть создан с помощью метода `document.createDocumentFragment` или конструктора.

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

*Этот интерфейс не имеет определённых свойств помимо наследуемых от его родителя, `Node`, и реализует их из интерфейса `ParentNode`.*

`ParentNode.children` (en-US) Только для чтения 
Экспериментальная возможность

Возвращает динамическую `HTMLCollection` содержащую все объекты типа `Element`, которые являются потомками объекта `DocumentFragment`.

`ParentNode.firstElementChild` (en-US) Только для чтения 
Экспериментальная возможность

Возвращает `Element`, который является первым потомком объекта `DocumentFragment`, или `null`, если такого нет.

`ParentNode.lastElementChild` (en-US) Только для чтения 
Экспериментальная возможность

Возвращает `Element`, который является последним потомком объекта `DocumentFragment`, или `null`, если такого нет.

`ParentNode.childElementCount` Только для чтения 
Экспериментальная возможность

Возвращает `unsigned long` - число потомков объекта `DocumentFragment`.

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

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

Возвращает пустой объект `DocumentFragment`.

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

*Этот интерфейс наследует методы его родителя, `Node`*, и реализует их из интерфейса `ParentNode`.

`DocumentFragment.find()` 
Экспериментальная возможность

Возвращает первое совпадение `Element` в дереве `DocumentFragment`.

`DocumentFragment.findAll()` 
Экспериментальная возможность

Возвращает список `NodeList` найденных `Element` в дереве `DocumentFragment`.

`DocumentFragment.querySelector()` (en-US)

Возвращает первый узел `Element` в `DocumentFragment`, в порядке документа, который совпадает с заданным селектором.

`DocumentFragment.querySelectorAll()` (en-US)

Возвращает список `NodeList` всех узлов `Element` в `DocumentFragment` которые совпадают с заданным селектором.


`DocumentFragment.getElementById()` (en-US)

Возвращает первый узел `Element` в `DocumentFragment`, в порядке документа, который совпадает с заданным ID.

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

| Specification |
| --- |
| DOM Standard # interface-documentfragment |

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

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

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

* Интерфейсы DOM.
AnimationEvent
==============

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

AnimationEvent - это интерфейс представляющий события, содержащие информацию, связанную с анимацией.

Event

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

*Также свойства наследуются от родителя `Event`.*

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

Является `DOMString` содержащей значения `animation-name` CSS-свойств связанных с **transition.**

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

Является числом с плавающей точкой, которое задаёт количество времени от начала анимации в секундах, когда это событие отклонено, несмотря на какое-либо время анимация была остановлена.Для события "animationstart" , elapsedTime равно `0.0` если не было заданно отрицательное значение для `animation-delay`, в этом случае событие будет срабатывать с elapsedTime содержащим `(-1 * delay)`.

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

Является `DOMString`, начинающийся с '::', содержащий имя псевдо-элемента,на котором работает анимация.Если анимация не работает на псевдо-элементе, но работает на элементе,значит указанна пустая строка ' '.

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

`AnimationEvent()` (en-US)

Создаёт событие AnimationEvent с передачей параметров.

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

*Также наследуют методы от родителя `Event`*.

`AnimationEvent.initAnimationEvent()` (en-US) 
Non-standard

Устарело

Инициализирует AnimationEvent созданную используя резко суждённый метод `Document.createEvent("AnimationEvent")` (en-US).

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

| Specification |
| --- |
| CSS Animations Level 1 # interface-animationevent |

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

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

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

* Использование CSS-анимации (en-US)
* Анимация связанных CSS-свойств и по правилам: `animation`, `animation-delay`, `animation-direction`, `animation-duration`, `animation-fill-mode`, `animation-iteration-count`, `animation-name`, `animation-play-state`, `animation-timing-function`, `@keyframes` (en-US).
CSSStyleDeclaration
===================

Интерфейс **`CSSStyleDeclaration`** представляет объект, являющийся блоком объявления CSS, и предоставляет информацию о стиле и различные связанные со стилем методы и свойства.

Объект `CSSStyleDeclaration` может быть представлен с помощью трёх различных API:

* Через `HTMLElement.style` (en-US), который имеет дело с встроенными стилями одного элемента (например, <div style="...">).
* Через API `CSSStyleSheet`. Например, `document.styleSheets[0].cssRules[0].style` возвращает объект `CSSStyleDeclaration` для первого правила CSS в первой таблице стилей документа.
* Через `Window.getComputedStyle ()`, который предоставляет объект `CSSStyleDeclaration` в качестве интерфейса только для чтения.
Атрибуты
--------

`CSSStyleDeclaration.cssText` (en-US)

Текстовое представление блока объявления. Установка этого атрибута изменяет стиль.

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

Количество свойств. Смотри ниже метод `item()` (en-US) .

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

Содержащееся `CSSRule`.

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

`CSSStyleDeclaration.getPropertyPriority()` (en-US)

Возвращает необязательный приоритет "important".

`CSSStyleDeclaration.getPropertyValue()`

Возвращает значение свойства, заданное именем свойства.

`CSSStyleDeclaration.item()` (en-US)

Возвращает имя свойства.

`CSSStyleDeclaration.removeProperty()` (en-US)

Удаляет свойство из блока объявления CSS.

`CSSStyleDeclaration.setProperty()` (en-US)

Изменяет существующее свойство CSS или создаёт новое свойство CSS в блоке объявления.

`CSSStyleDeclaration.getPropertyCSSValue()` (en-US)

Поддерживается только через getComputedStyle в Firefox. Возвращает значение свойства в виде `CSSPrimitiveValue` (en-US) или `null` для сокращённых свойств.

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


```js
var styleObj = document.styleSheets[0].cssRules[0].style;
console.log(styleObj.cssText);

for (var i = styleObj.length; i--; ) {
  var nameString = styleObj[i];
  styleObj.removeProperty(nameString);
}

console.log(styleObj.cssText);
```

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

| Specification |
| --- |
| CSS Object Model (CSSOM) # the-cssstyledeclaration-interface |

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

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

Интерфейс **`CanvasGradient`** представляет собой непрозрачный объект, описывающий градиент. Он возвращается методами `CanvasRenderingContext2D.createLinearGradient()` и `CanvasRenderingContext2D.createRadialGradient()` (en-US).

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

*Representing an opaque object, there is no exposed property.*

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

*Не имеет наследованных методов.*

`CanvasGradient.addColorStop()` (en-US)

Добавляет в градиент новый маркер, определяемый смещением и цветом. `Если смещение входдит за пределы 0` и `1`, генерируется `INDEX_SIZE_ERR`. Если не удаётся обработать цвет как CSS `<color>`, генерируется `SYNTAX_ERR`.

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

| Specification |
| --- |
| HTML Standard # canvasgradient |

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

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

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

* Методы создания в `CanvasRenderingContext2D`.
* Элемент `<canvas>` и связанный с ним интерфейс `HTMLCanvasElement`.
HTMLDivElement
==============

Интерфейс **HTMLDivElement** предоставляет специальные свойства (не входящее в интерфейс `HTMLElement` ) для манипулирования DIV элементов.

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

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

`HTMLDivElement.align`

Свойство типа `DOMString` указывающее выравнивание содержимого элемента относительно окружающего контекста. Принимает следующие значения `"left"`, `"right"`, `"justify"`, `"center"`.

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

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

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

| Specification |
| --- |
| HTML Standard # htmldivelement |

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

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

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

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

Интерфейс **`HTMLCollection`** является обобщённой коллекцией (объектом, ведущим себя подобно массиву) элементов (в порядке упоминания в документе) и предоставляет методы и свойства для получения хранящихся в нём элементов.

**Примечание:** Интерфейс назван `HTMLCollection` по историческим причинам. До стандарта DOM4 коллекции, реализующие данный интерфейс, использовались только для хранения HTML-элементов.

`HTMLCollection`, хранящая элементы DOM, является динамической. При изменении документа она моментально отражает все произведённые изменения.

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

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

Возвращает количество элементов в коллекции.

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

`HTMLCollection.item()`

Возвращает узел с порядковым номером `index`; отсчёт ведётся от нуля. Возвращает `null`, если `index` выходит за границы допустимого диапазона.

`HTMLCollection.namedItem()` (en-US)

Возвращает узел, идентификатор или имя (в целях совместимости) которого совпадает со строкой, переданной в аргументе `name`. Соответствие имени проверяется в самую последнюю очередь, только для HTML-элементов и только для тех из них, которые поддерживают свойство `name`. Возвращает `null` , если искомый элемент отсутствует.

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

`HTMLCollection` предоставляет своё содержимое как собственные свойства, доступные как по имени, так и по индексу (как в массиве). Это связано с тем, что идентификаторы HTML-элементов, содержащие точки и двоеточие (допустимо в HTML5), адресуемы исключительно через синтаксис доступа к массиву. Однако, при числовых идентификаторах невозможно определить, производится ли запрос по индексу или по идентификатору, неявно приведённому к числу.

Пусть в документе присутствует элемент `<form>` с `id`, равным «`myForm`»:


```js
var elem1, elem2;

// document.forms имеет тип HTMLCollection

elem1 = document.forms[0];
elem2 = document.forms.item(0);

alert(elem1 === elem2); // выводит "true"

elem1 = document.forms.myForm;
elem2 = document.forms.namedItem("myForm");

alert(elem1 === elem2); // выводит "true"

elem1 = document.forms["named.item.with.periods"];
```

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

| Specification |
| --- |
| DOM Standard # interface-htmlcollection |

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

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

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

* `NodeList`
* `HTMLFormControlsCollection` (en-US), `HTMLOptionsCollection` (en-US)