recursal/MDN huggingface dataset:
HTMLDataElement
===============

Интерфейс **`HTMLDataElement`** предоставляет специальные свойства (после чего постоянный `HTMLElement` интерфейс также доступен еме по наследству) для манипуляции `<data>` элементами.

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

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

| Имя | Тип | Описание |
| --- | --- | --- |
| `value` | `DOMString` | отображает `value` HTML атрибут, содержащий машиночитаемый вид значения элемента. |

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

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

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

| Specification |
| --- |
| HTML Standard # htmldataelement |

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

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

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

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

Интерфейс **`TouchList`** представляет собой список точек касаний сенсорной поверхности. Например, если пользователь коснулся сенсорной поверхности (такой как экран или трекпад) тремя пальцами, соответствующий объект `TouchList` будет содержать по одному объекту `Touch` для каждого пальца, всего три объекта.

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

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

Количество объектов `Touch` в `TouchList`.

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

`TouchList.identifiedTouch()`

Возвращает первый объект `Touch` из списка, чей идентификатор соответствует заданному значению.

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

Возвращает объект `Touch`, находящийся в списке по указанному индексу

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

С примером можно ознакомиться в основной статье про События касаний (тач-события)

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

| Specification |
| --- |
| Touch Events # touchlist-interface |

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

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

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

* События касаний (тач-события)
* `Document.createTouchList()` (en-US)
CanvasPattern
=============

**`CanvasPattern`** представляет собой интерфейс непрозрачного объекта, описывающего шаблон, который может быть представлен как картинка, canvas или видео.

**`CanvasPattern`** создаётся с помощью метода `CanvasRenderingContext2D.createPattern()` (en-US).

Может быть использован как `fillStyle` или `strokeStyle`.

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

*Не имеет доступных свойств.*

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

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

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

Используется в качестве `SVGMatrix` (en-US) представления линейной трансформации.

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

| Specification |
| --- |
| HTML Standard # canvaspattern |

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

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

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

* `CanvasRenderingContext2D.createPattern()` (en-US)
* `<canvas>` тег и связанный с ним интерфейс - `HTMLCanvasElement`
StorageManager
==============

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

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

**`StorageManager`** является частью Storage API (en-US) и предоставляет интерфейс для управления правами на хранение данных и для получения объёма данных, доступного для хранения. Доступ к интерфейсу можно получить через `navigator.storage` (en-US) или через `WorkerNavigator.storage` (en-US).

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

`StorageManager.estimate()` Secure context

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

`StorageManager.persist()` (en-US) Secure context

Возвращает `Promise`, который принимает значение `true` в случае, когда браузер имеет возможность хранить данные вашего сайта.

`StorageManager.persisted()` (en-US) Secure context

Возвращает `Promise`, который принимает значение `true` в случае, когда сайт получил возможность хранить данные в браузере.

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

| Specification |
| --- |
| Storage Standard # storagemanager |

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

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

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

Интерфейс **`BackgroundFetchRecord`** Background Fetch API представляет отдельный запрос и ответ.

`BackgroundFetchRecord` создаётся методом `BackgroundFetchManager.fetch()`, поэтому для этого интерфейса нет конструктора.

Существует только один `BackgroundFetchRecord` для каждого ресурса, запрошенного функцией `fetch()`.

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

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

Возвращает `Request`.

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

Возвращает промис, результатом обработки которого будет `Response`.

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

В этом примере отдельный `BackgroundFetchRecord` возвращается с использованием `BackgroundFetchManager.fetch()`. `BackgroundFetchRecord.request` и `BackgroundFetchRecord.responseReady` выводятся в консоль.


```js
bgFetch.match("/ep-5.mp3").then(async (record) => {
  if (!record) {
    console.log("No record found");
    return;
  }

  console.log(`Запрос`, record.request);
  const response = await record.responseReady;
  console.log(`Ответ`, response);
});
```

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

| Specification |
| --- |
| Background Fetch # background-fetch-record-interface |

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

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

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

Интерфейс **`GeolocationPosition`** представляет положение соответствующего устройства в данный момент времени. Положение, представленное объектом `GeolocationCoordinates`, отражает двумерное положение устройства на сфероиде, представляющем землю, а также его высоту и скорость..

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

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

`GeolocationPosition.coords` (en-US) Только для чтения  Secure context

Возвращает объект `GeolocationCoordinates` определяющий текущую локацию.

`GeolocationPosition.timestamp` (en-US) Только для чтения  Secure context

Возвращает `DOMTimeStamp` (en-US), представляющий время, в которое была получена локация.

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

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

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

| Specification |
| --- |
| Geolocation API # position\_interface |

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

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

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

* Using the Geolocation API (en-US)
* `Geolocation`
SVGAElement
===========

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

Интерфейс **`SVGAElement`**`предоставляет доступ к свойствам``<a>` элемента а также к методам манипулирования ими.

Интерфейс наследует следующие интерфейсы: `SVGElement` (en-US), `SVGURIReference` (en-US), `SVGTests`, `SVGLangSpace`, `SVGExternalResourcesRequired`, `SVGStylable` (en-US), `SVGTransformable`.

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

*Этот интерфейс также наследует свойства от его родителя, `SVGGraphicsElement` и реализует свойства из `SVGURIReference` (en-US) и `HTMLHyperlinkElementUtils`.*

`SVGAElement.download`

См. `HTMLAnchorElement.download` (en-US).

`SVGAElement.href`

См. `HTMLAnchorElement.href`.

`SVGAElement.hreflang`

Является `DOMString`, который отражает атрибут `hreflang`, указывающий язык связанного ресурса.

`SVGAElement.ping`

Является `DOMString`, отражая атрибут ping, содержащий список URL-адресов, разделённых пробелами, к которым, когда выполняется гиперссылка, `POST` запрос с телом `PING` будет отправлен браузером (в фоновом режиме). Обычно используется для отслеживания.

`SVGAElement.referrerPolicy`

См. `HTMLAnchorElement.referrerPolicy` (en-US).

`SVGAElement.rel`

См. `HTMLAnchorElement.rel` (en-US).

`SVGAElement.relList`

См. `HTMLAnchorElement.relList` (en-US).

`SVGAElement.target` Только для чтения 

соответствует атрибуту `target (en-US)` данного элемента.

`SVGAElement.text`

Является `DOMString` синонимом свойства `Node.textContent`.

`SVGAElement.type`

 Is a that reflects theattribute, indicating the MIME type of the linked resource.
 Является `DOMString`, который отражает атрибут `type` , указывающий тип MIME связанного ресурса.


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

*Этот интерфейс не имеет методов, но наследует методы от его родителя, `SVGGraphicsElement`.*

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

В примере ниже, атрибуту `target (en-US)` элемента `<a>` присвоено значение *\_blank* и при клике по ссылке, при соблюдении условий, выведется сообщение в модальном окне.


```js
var linkRef = document.querySelector("a");
linkRef.target = "\_self";

linkRef.onclick = function () {
  if (linkRef.target == "\_blank") {
    alert("BLANK !");
    linkRef.target = "\_self";
  } else alert("SORRY! not \_blank");
};
```

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

| Specification |
| --- |
| Scalable Vector Graphics (SVG) 2 # InterfaceSVGAElement |

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

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

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

* SVG `<a>` элемент
Глобальное свойство caches
==========================

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

 Доступное только для чтения глобальное свойство **`caches`** возвращает объект `CacheStorage` связанный с текущим контекстом.
 С помощью этого объекта можно реализовать хранение ресурсов в автономном режиме и генерацию индивидуальных ответов на запросы.

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

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

Объект `CacheStorage`.

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

Данный пример показывает как использовать кеш в контексте service worker для хранения в автономном режиме.


```js
this.addEventListener("install", (event) => {
  event.waitUntil(
    caches
      .open("v1")
      .then((cache) =>
        cache.addAll([
          "/",
          "/index.html",
          "/style.css",
          "/app.js",
          "/image-list.js",
          "/star-wars-logo.jpg",
          "/gallery/",
          "/gallery/bountyHunters.jpg",
          "/gallery/myLittleVader.jpg",
          "/gallery/snowTroopers.jpg",
        ]),
      ),
  );
});
```

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

| Specification |
| --- |
| Service Workers # self-caches |

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

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

Также смотрите
--------------

* Service Workers (en-US)
* Web Workers
* `CacheStorage`
* `Cache`
BackgroundFetchUpdateUIEvent
============================

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

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

Event

ExtendableEvent

(en-US)

BackgroundFetchEvent

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

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

Создаёт новый объект `BackgroundFetchUIEvent`. Этот конструктор обычно не используется, так как браузер сам создаёт эти объекты для событий `backgroundfetchsuccess` (en-US) и `backgroundfetchfail` (en-US).

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

*Этот интерфейс не реализует каких-либо особенных свойств, но наследует свойства `Event`, и `BackgroundFetchEvent`.*

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

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

Обновляет заголовок и иконку в пользовательском интерфейсе, чтобы показать статус фонового запроса. Результатом работы является `Promise`.

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

В этом примере слушается событие `backgroundfetchsuccess`, для того чтобы показать, что фоновый запрос успешно завершился. Затем вызывается метод `updateUI()`, дающий пользователю знать, что загруженный им эпизод готов.


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

  event.waitUntil(
    (async () => {
      // Создать/открыть кэш.
      const cache = await caches.open("downloads");
      // Получить все записи.
      const records = await bgFetch.matchAll();
      // Копировать каждый запрос/ответ.
      const promises = records.map(async (record) => {
        const response = await record.responseReady;
        await cache.put(record.request, response);
      });

      // Ждать пока копирование завершиться
      await Promise.all(promises);

      // Обновить уведомление о прогрессе
      event.updateUI({ title: "Эпизод 5 готов к прослушиванию!" });
    })(),
  );
});
```

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

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

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

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

Метод **`ExtendableEvent.waitUntil()`** сообщает диспетчеру событий, что выполняется действие. Также этот метод может быть использован, для того чтобы определить было ли то действие успешным. В рамках service workers, `waitUntil()` сообщает браузеру, что действие продолжается пока промис не завершится (*promise settles*) и браузер не должен прерывать service worker если он хочет, чтобы это действие завершилось.

События `install` в `service workers` (en-US) используют `waitUntil()` чтобы задержать service worker в `installing` (en-US) фазе пока не завершатся задачи. Если промис, переданный в `waitUntil()`, отклоняется, установка считается неудачной и устанавливаемый service worker отбрасывается. В первую очередь это используется для гарантии того, что service worker не рассматривается как установленный (installed), пока все основные кеши на которые он зависит успешно не заполнены.

События `activate` в `service workers` (en-US) используют `waitUntil()` для размещения в буфере функциональных событий таких как `fetch` и `push` пока промис, переданный в `waitUntil()`, не завершится успешно. Это даёт service worker время, чтобы обновить схемы базы данных и удалить устаревшие `caches`, таким образом другие события могут полагаться на полностью обновлённое состояние.

Метод `waitUntil()` должен быть изначально вызван внутри колбэка события (*event callback*), но после этого он может быть вызван множество раз, до тех пор пока все промисы, переданные в него, не завершатся успешно.

**Примечание:** Поведение описанное в параграфе выше, было исправлено в Firefix 43 (смотрите Firefox bug 1180274).

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

extendableEvent.waitUntil(promise);
```

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

`Promise`.

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

`undefined`.

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

Использование `waitUntil()` внутри события `install` в service worker:


```js
addEventListener("install", (event) => {
  const preCache = async () => {
    const cache = await caches.open("static-v1");
    return cache.addAll(["/", "/about/", "/static/styles.css"]);
  };
  event.waitUntil(preCache());
});
```

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

| Specification |
| --- |
| Service Workers # dom-extendableevent-waituntil |

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

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

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

* Использование Service Workers
* Готов ли ServiceWorker?
* `Promise`
HTMLHyperlinkElementUtils.search
================================

Свойство **`HTMLHyperlinkElementUtils.search`** – это `USVString` (en-US), содержащий `'?'` с последующими параметрами URL.

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

string = object.search;
object.search = string;
```

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


```js
// Допустим, что документ содержит элемент <a id="myAnchor" href="https://developer.mozilla.org/ru/docs/HTMLHyperlinkElementUtils.search?q=123">
var anchor = document.getElementById("myAnchor");
var result = anchor.search; // Вернёт: '?q=123'
```

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

| Specification |
| --- |
| HTML Standard # dom-hyperlink-search-dev |

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

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

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

* Миксин `HTMLHyperlinkElementUtils`, к которому принадлежит это свойство.
HTMLHyperlinkElementUtils.host
==============================

Свойство **`HTMLHyperlinkElementUtils.host`** – это `USVString` (en-US), содержащий хост, а именно *имя хоста* и, если *порт* не пустой, `':'` и *порт*.

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

string = object.host;
object.host = string;
```

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


```js
var anchor = document.createElement("a");

anchor.href =
  "https://developer.mozilla.org/en-US/HTMLHyperlinkElementUtils.host";
anchor.host == "developer.mozilla.org";

anchor.href =
  "https://developer.mozilla.org:443/en-US/HTMLHyperlinkElementUtils.host";
anchor.host == "developer.mozilla.org";
// Номер порта пропущен, потому что 443 используется по умолчанию

anchor.href =
  "https://developer.mozilla.org:4097/en-US/HTMLHyperlinkElementUtils.host";
anchor.host == "developer.mozilla.org:4097";
```

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

| Specification |
| --- |
| HTML Standard # dom-hyperlink-host-dev |

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

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

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

* Миксин `HTMLHyperlinkElementUtils`, к которому принадлежит это свойство.
HTMLHyperlinkElementUtils.port
==============================

Свойство **`HTMLHyperlinkElementUtils.port`** – это `USVString` (en-US), содержащий номер порта.

При значении `'' будет использоваться` порт по умолчанию для указанного протокола (не `0`).

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

string = object.port;
object.port = string;
```

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


```js
// Допустим, что документ содержит элемент <a id="myAnchor" href="https://developer.mozilla.org/ru/docs/HTMLHyperlinkElementUtils.port">
var anchor = document.getElementByID("myAnchor");
var result = anchor.port; // Вернёт: '80'
```

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

| Specification |
| --- |
| HTML Standard # dom-hyperlink-port-dev |

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

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

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

* Миксин `HTMLHyperlinkElementUtils`, к которому принадлежит это свойство.
HTMLHyperlinkElementUtils.password
==================================

Свойство **`HTMLHyperlinkElementUtils.password`** – это `USVString` (en-US), содержащий пароль, указанный перед именем домена.

`password` игнорируется без предупреждения, если свойство `username` не установлено.

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

string = object.password;
object.password = string;
```

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


```js
// Допустим, что документ содержит элемент <a id="myAnchor" href="https://anonymous:flabada@developer.mozilla.org/ru/docs/HTMLHyperlinkElementUtils.username">
var anchor = document.getElementByID("myAnchor");
var result = anchor.password; // Вернёт: 'flabada'
```

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

| Specification |
| --- |
| HTML Standard # dom-hyperlink-password-dev |

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

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

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

* Миксин `HTMLHyperlinkElementUtils`, к которому принадлежит это свойство.
HTMLHyperlinkElementUtils.hostname
==================================

Свойство **`HTMLHyperlinkElementUtils.hostname`** – это `USVString` (en-US), содержащий домен.

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

string = object.hostname;
object.hostname = string;
```

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


```js
// Допустим, что документ содержит элемент <a id="myAnchor" href="https://developer.mozilla.org/ru/docs/HTMLHyperlinkElementUtils.hostname">
var anchor = document.getElementByID("myAnchor");
var result = anchor.hostname; // Вернёт: 'developer.mozilla.org'
```

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

| Specification |
| --- |
| HTML Standard # dom-hyperlink-hostname-dev |

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

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

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

* Миксин `HTMLHyperlinkElementUtils`, к которому принадлежит это свойство.
HTMLHyperlinkElementUtils.href
==============================

Свойство **`HTMLHyperlinkElementUtils.href`** – это `USVString` (en-US), содержащий URL целиком.

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

string = object.href;
object.href = string;
```

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


```js
// Допустим, что документ содержит элемент <a id="myAnchor" href="https://developer.mozilla.org/en-US/HTMLHyperlinkElementUtils/href">
var anchor = document.getElementById("myAnchor");
var result = anchor.href; // Вернёт: 'https://developer.mozilla.org/en-US/HTMLHyperlinkElementUtils/href'
```

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

| Specification |
| --- |
| HTML Standard # dom-hyperlink-href-dev |

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

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

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

* Миксин `HTMLHyperlinkElementUtils`, к которому принадлежит это свойство.
HTMLHyperlinkElementUtils.username
==================================

Свойство **`HTMLHyperlinkElementUtils.username`** – это `USVString` (en-US), содержащий имя пользователя, указанное перед именем домена.

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

string = object.username;
object.username = string;
```

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


```js
// Допустим, что документ содержит элемент <a id="myAnchor" href="https://anonymous:flabada@developer.mozilla.org/ru/docs/HTMLHyperlinkElementUtils.username">
var anchor = document.getElementByID("myAnchor");
var result = anchor.username; // Вернёт: 'anonymous'
```

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

| Specification |
| --- |
| HTML Standard # dom-hyperlink-username-dev |

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

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

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

* Миксин `HTMLHyperlinkElementUtils`, к которому принадлежит это свойство.