recursal/MDN huggingface dataset:
BackgroundFetchUpdateUIEvent.updateUI()
=======================================

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

Метод **`updateUI()`** интерфейса `BackgroundFetchUpdateUIEvent` обновляет заголовок и иконку в пользовательском интерфейсе, для того чтобы показать статус фонового запроса.

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

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


```js
updateUI(options)
```

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

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

Объект, содержащий любое из следующих значений:

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

Список из одного или более ресурсов изображений, содержащих иконки для использования в интерфейсе пользователя. Ресурс изображения это объект, содержащий:

`src`

Строка с URL изображения.

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

Строка, которая эквивалентна аттрибуту `sizes` элемента `<link>`.

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

Строка, содержащая MIME-тип изображения.

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

Строка, содержащая имя для изображения.


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

Строка, содержащая новый заголовок для интерфейса пользователя.


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

`Promise`.

### Исключения

`InvalidStateError` `DOMException` (en-US)

Возвращается, если любое из следующих утверждений верно:

* Свойство `isTrusted` - `false`.
* `BackgroundFetchUpdateUIEvent` флаг обновения UI уже установлен, указывая на то, что метод `updateUI()` уже был вызван.
* `BackgroundFetchUpdateUIEvent` не активен.

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

Следующий пример демонстрирует обновление в UI заголовка и иконки, при успешном завершении запроса.


```js
addEventListener("backgroundfetchsuccess", (event) => {
  event.updateUI({
    title: "Эпизод 5 готов к прослушиванию!",
    icon: {
      src: "path/to/success.ico",
      sizes: "16x16 32x32 64x64",
    },
  });
});
```

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

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

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

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

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

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

Доступное только для чтения свойство **`position`** интерфейса `VRPose` (en-US) возвращает позицию `VRDisplay` (en-US) в текущий момент времени `VRPose.timestamp` (en-US) в виде 3D-вектора.

**Примечание:** Это свойство было частью старого WebVR API, который был заменён на WebXR Device API.

Система координат выглядит следующим образом:

* Положительное значение X — справа от пользователя.
* Положительное значение Y — сверху.
* Положительное значение Z — позади от пользователя.

Позиции измеряются в метрах от исходной точки — эта точка является либо положением, в котором датчик был впервые считан, либо положением датчика в точке, в которой в последний раз вызывали `VRDisplay.resetPose ()`.

**Примечание:** По умолчанию все позиции даны как имеющие горизонтальное расположение. Преобразование этой точки с помощью параметра `VRStageParameters.sittingToStandingTransform`, например, когда вы работаете с отображением комнаты, преобразует это в вертикальное расположение.

### Значение

`Float32Array` (en-US) или `null`, если VR-датчик не может предоставить данные о местоположении.

**Примечание:** Пользовательские агенты могут предоставлять эмулированные значения положения с помощью таких методов, как моделирование шеи; при этом `VRDisplayCapabilities.hasPosition` должен возвращать `false`.

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

Смотрите примеры использования в `VRDisplay.getFrameData()` (en-US).

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

Это свойство было частью старого WebVR API, который был заменён на WebXR Device API. Больше не планируется сделать его стандартом.

Пока все браузеры не реализуют новые WebXR API (en-US), рекомендуется использовать такие фреймворки как A-Frame, Babylon.js, Three.js или полифил для разработки приложений WebXR, которые будут работать во всех браузерах.

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

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

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

* WebVR API
Cache.delete()
==============

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

Метод **`delete()`** интерфейса `Cache` ищет запись `Cache`, чей ключ совпадает с запросом, и, в случае находки, удаляет запись `Cache` и возвращает `Promise`, который разрешается со значением `true`. Если запись не была найдена `Cache`, метод возвращает `false`.

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


```js
cache.delete(request,{options}).then(function(true) {
  // запись была удалена
});
```

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

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

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

request

`Request`, который вы хотите удалить.

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

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

* `ignoreSearch`: Булево значение `Boolean` (en-US), которое определяет будет ли процесс сопоставления игнорировать строку запроса в url. Если установлено в `true`, часть `?value=bar` запроса `http://foo.com/?value=bar` будет проигнорирована при сопоставлении ключей. По умолчанию установлено в `false`.
* `ignoreMethod`: Булево значение `Boolean` (en-US), которое, если равно `true`, предотвращает проверку `Request` при сопоставлении ключей на `HTTP` метод (обычно допускаются только `GET` и `HEAD`). По умолчанию установлено в `false`.
* `ignoreVary`: Булево значение `Boolean` (en-US), которое, если равно `true,` указывает операции сопоставления ключей не проводить проверку заголовка `VARY`. Другими словами, если URL совпадает, вы получите соответствие, независимо от того, есть ли заголовок `VARY` на объекте запроса `Response`. По умолчанию установлено в `false`.
* `cacheName`: Строка `DOMString`, которая представляет собой определённый кеш, в котором вести поиск. Заметьте, что этот параметр игнорируется методом `Cache.delete()`.

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


```js
caches.open("v1").then(function (cache) {
  cache.delete("/images/image.png").then(function (response) {
    someUIUpdateFunction();
  });
});
```

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

| Specification |
| --- |
| Service Workers # cache-delete |

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

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

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

* Использование сервис воркеров (en-US)
* `Cache`
* `WorkerGlobalScope.caches` (en-US)
Cache.add()
===========

Метод **`add()`** интерфейса `Cache` принимает в качестве параметра URL, загружает его и добавляет полученный объект ответа в заданный кеш. Метод `add()` функционально эквивалентен следующему коду:


```js
fetch(url).then(function (response) {
  if (!response.ok) {
    throw new TypeError("bad response status");
  }
  return cache.put(url, response);
});
```


Для более сложных операций, вам нужно использовать `Cache.put()` (en-US).

**Примечание:** `add()` перезапишет любую пару ключ/значение, сохранённую ранее в кеше, соответствующем запросу.

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

cache.add(request).then(function() {
  //запрос был добавлен в кеш
});
```

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

request

Запрос, который вы хотите добавить в кеш. Это может быть объект `Request`, либо URL.

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

`Promise`, который разрешается с пустым значением void.

### Исключения

| **Исключение** | **Когда происходит** |
| --- | --- |
| `TypeError` | Схема URL не `http` или `https`.Статус ответа не из диапазона 200 (т.е., ответ не успешен). Это случается если запрос не выполняется успешно, а также, если запрос является *cross-origin no-cors* запросом (в таком случае, статус всегда 0). |

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

Этот блок кода ожидает старта события `InstallEvent` (en-US) , а затем запускает `waitUntil` для обработки процесса установки приложения. Этот процесс состоит из вызова `CacheStorage.open` для создания нового кеша, и использования `Cache.add` для добавления ресурсов в этот кеш.


```js
this.addEventListener("install", function (event) {
  event.waitUntil(
    caches.open("v1").then(function (cache) {
      return cache.add("/sw-test/index.html");
    }),
  );
});
```

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

| Specification |
| --- |
| Service Workers # cache-add |

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

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

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

* Использование сервис воркеров (en-US)
* `Cache`
* `WorkerGlobalScope.caches` (en-US)
Cache.matchAll()
================

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

Метод **`matchAll()`** интерфейса `Cache` возвращает `Promise`, который разрешается в массив всех совпадающих запросов в объекте `Cache`.

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


```js
cache.matchAll(request, { options }).then(function (response) {
  // сделать что-нибудь с массивом ответов
});
```

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

`Promise`, который разрешается в массив всех совпадающих запросов в объекте `Cache`.

**Примечание:** `Cache.match()` в основном идентичен `Cache.matchAll()`, за исключением того, что последний разрешается с `response[0]` (т.е., первым совпадающим ответом) вместо `response` (всех совпадающих ответов в массиве).

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

request

Запрос `Request`, который вы пытаетесь найти в `Cache`.

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

Объект options, разрешающий вам установить особые команды контроля поиска соответствий ключа, выполняемого операцией `match`. Доступные параметры:

* `ignoreSearch`: Булево значение `Boolean` (en-US), которое говорит должен ли процесс сопоставления ключей игнорировать строку запроса в url. Если равно `true`, часть `?value=bar` запроса `http://foo.com/?value=bar` будет игнорироваться при поиске соответствий ключа . По умолчанию равно `false`.
* `ignoreMethod`: Булево значение `Boolean` (en-US), которое, если равно `true`, предотвращает проверку метода `http` для запроса `Request` (обычно разрешены лишь `GET и` `HEAD`). По умолчанию равно `false`.
* `ignoreVary`: Булево значение `Boolean` (en-US), которое, когда равно `true,` говорит процессу сопоставления ключей не проверять соответствие заголовка `VARY` — т.е., если URL совпадает, то вы получите соответствие независимо от того, содержит ли объект `Response` заголовок `VARY, или нет`. По умолчанию равно `false`.
* `cacheName`: Строка `DOMString`, которая представляет собой имя кеша для поиска. **Заметьте, что этот параметр игнорируется методом `Cache.matchAll()`.**

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


```js
caches.open("v1").then(function (cache) {
  cache.matchAll("/images/").then(function (response) {
    response.forEach(function (element, index, array) {
      cache.delete(element);
    });
  });
});
```

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

| Specification |
| --- |
| Service Workers # cache-matchall |

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

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

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

* Использование сервис воркеров (en-US)
* `Cache`
* `WorkerGlobalScope.caches` (en-US)
Cache.keys()
============

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

Метод **`keys()`** интерфейса `Cache` возвращает `Promise`, который разрешается в массив ключей `Cache`.

Запросы возвращаются в том же порядке, в котором были добавлены.

**Примечание:** Запросы с дублирующимися URL, но с разными заголовками, могут быть возвращены, если в ответах на них установлен заголовок `VARY`.

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


```js
cache.keys(request, { options }).then(function (keys) {
  // сделать что-нибудь с вашим массивом запросов
});
```

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

`Promise`, который разрешается в массив ключей `Cache`.

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

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

`Request` который будет возвращён, если найден указанный ключ.

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

Объект, чьи свойства контролируют то, как выполняется сопоставление ключей для операции `keys`. Допустимые параметры:

* `ignoreSearch`: Булево значение `Boolean` (en-US), которое определяет должен ли процесс сопоставления игнорировать строку запроса в url. Если установлено в `true`, часть `?value=bar` запроса `http://foo.com/?value=bar` будет проигнорирована при сопоставлении. По умолчанию установлено в `false`.
* `ignoreMethod`: Булево значение `Boolean` (en-US), которое, когда равно `true`, предотвращает проверку `Request`, при сопоставлении ключей, на `HTTP` метод (обычно допускаются только `GET` и `HEAD`). По умолчанию установлено в `false`.
* `ignoreVary`: Булево значение `Boolean` (en-US), которое, когда равно `true,` указывает операции сопоставления ключей не проводить проверку заголовка `VARY`. Другими словами, если URL совпадает, вы получите соответствие, независимо от того, есть ли заголовок `VARY` на объекте запроса `Response`. По умолчанию установлено в `false`.
* `cacheName`: Строка `DOMString`, которая представляет собой определённый кеш, в котором нужно вести поиск. Заметьте, что этот параметр игнорируется методом `Cache.keys()`.

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


```js
caches.open("v1").then(function (cache) {
  cache.keys().then(function (keys) {
    keys.forEach(function (request, index, array) {
      cache.delete(request);
    });
  });
});
```

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

| Specification |
| --- |
| Service Workers # cache-keys |

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

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

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

* Использование сервис воркеров (en-US)
* `Cache`
* `WorkerGlobalScope.caches` (en-US)
Response()
==========

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

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

var myResponse = new Response(body, init);
```

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

*body* Необязательный

Объект, который определяет тело запроса. Может быть `null` (является значением по умолчанию), или:

* `Blob`
* `BufferSource`
* `FormData`
* `ReadableStream` (en-US)
* `URLSearchParams`
* `USVString` (en-US)

*init* Необязательный

An options object containing any custom settings that you want to apply to the response, or an empty object (which is the default value). The possible options are:

* `status`: The status code for the reponse, e.g., `200`.
* `statusText`: The status message associated with the status code, e.g., `OK`.
* `headers`: Any headers you want to add to your response, contained within a `Headers` (en-US) object or object literal of `ByteString` (en-US) key/value pairs (see HTTP headers for a reference).

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

In our Fetch Response example (see Fetch Response live) we create a new `Response` object using the constructor, passing it a new `Blob` as a body, and an init object containing a custom `status` and `statusText`:


```js
var myBlob = new Blob();
var init = { status: 200, statusText: "SuperSmashingGreat!" };
var myResponse = new Response(myBlob, init);
```

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

| Specification |
| --- |
| Fetch Standard # ref-for-dom-response① |

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

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

Читай также
-----------

* ServiceWorker API (en-US)
* HTTP access control (CORS) (en-US)
* HTTP
HTMLCollection.item
===================

`HTMLCollection.item() получает элемент с заданым индексом`.

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

index

Позиция возвращаемого документа. В объекте HTMLCollection элементы находятся в том же порядке, в каком они расположены в документе.

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

Элемент соответствующий конкретной, заданной позиции или null, если index меньше нуля или больше, чем index последнего элемента.

Описание
--------

Метод item() возвращает номерной элемент из HTMLCollection. В JavaScript легче работать с HTMLCollection, как с массивом, используя квадратные скобки.

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


```js
var c = document.images; // Это HTMLCollection
var img0 = c.item(0); // Вы можете использовать метод item( ) для доступа к элементу
var img1 = c[1]; // Однако, использование квадратных скобок намного проще и более распространено
```

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

* `NodeList.item()` (en-US)
PushManager.subscribe()
=======================

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

Метод **`subscribe()`** интерфейса `PushManager` позволяет осуществлять подписку на push-уведомления.

Возвращает `Promise`, который разрешается в объект `PushSubscription` (en-US), содержащий детали push-подписки. Новая push-подписка создаётся в случае, если сервис-воркер не имеет существующей подписки.

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

PushManager.subscribe(options).then(function(pushSubscription) { ... } );
```

### Свойства

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

Объект, содержащий необязательные параметры конфигурации. Может иметь следующие свойства:

* `userVisibleOnly`: Булевое значение, указывающее на то, будет ли возвращаемая подписка использоваться для сообщений, чей эффект может быть видим для пользователя.
* `applicationServerKey`: открытый ключ ECDSA P-256, закодированный в Base64 `DOMString` или `ArrayBuffer`, содержащий , который push-сервер будет использовать для аутентификации сервера приложений. Если указано, все сообщения с сервера вашего приложения должны использовать схему аутентификации VAPID и включать JWT, подписанный соответствующим закрытым ключом. Этот ключ \*\**НЕ* \*\*тот же ключ ECDH, который вы используете для шифрования данных. Для получения дополнительной информации см. «Using VAPID with WebPush».

> 
> \*\*Примечание:\*\*Свойство, требуемое некоторыми браузерами, например Chrome и Edge.
> 
> 
> 

### Возвращает

`Promise` который разрешается в объект `PushSubscription` (en-US).

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


```js
this.onpush = function (event) {
  console.log(event.data);
  // Отсюда можно записывать данные в IndexedDB, отправлять их в любое
  // открытое окно, отображать уведомление и т. д.
};

navigator.serviceWorker
  .register("serviceworker.js")
  .then(function (serviceWorkerRegistration) {
    serviceWorkerRegistration.pushManager.subscribe().then(
      function (pushSubscription) {
        console.log(pushSubscription.subscriptionId);
        console.log(pushSubscription.endpoint);
        // Детали push-подписки, требуемые сервером приложения,
        // теперь доступны, и могут быть отправлены, к примеру,
        // при помощи XMLHttpRequest.
      },
      function (error) {
        // При разработке это часто помогает отлавливать ошибки в консоли.
        // В продакшен-среде это также может быть полезно для отправки отчёта
        // об ошибках на сервер приложения.
        console.log(error);
      },
    );
  });
```

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

| Specification |
| --- |
| Push API # dom-pushmanager-subscribe |

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

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

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

* Using the Push API (en-US)
* Push Notifications on the Open Web, Matt Gaunt
SVGAElement.target
==================

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

Свойство **`SVGAElement.target`** только для чтения. `SVGAElement` возвращает объект `SVGAnimatedString` (en-US), указывающий часть целевого окна, фрейма, панели, в которой откроется при активации ссылки.

Это свойство используется, когда существует множество возможных целей для конечного ресурса, например, когда родительский документ является документом HTML или HTML-документом multi-frame.

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

myLink.target = 'value';
```

### Значение

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

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

Код взят из «Пример кода SVGAElement».


```js
...
var linkRef = document.querySelector('a');
linkRef.target ='\_blank';
...
```

Характеристики
--------------

| Specification |
| --- |
| Scalable Vector Graphics (SVG) 2 # \_\_svg\_\_SVGAElement\_\_target |

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

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

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

* `target (en-US)`