recursal/MDN huggingface dataset:
HTMLHyperlinkElementUtils.hash
==============================

Свойство **`HTMLHyperlinkElementUtils.hash`** – это `USVString` (en-US), содержащий `'#'` с последующим идентификатором. Идентификатор не декодирован.

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

string = object.hash;
object.hash = string;
```

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


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

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

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

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

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

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

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

Свойство **`HTMLHyperlinkElementUtils.protocol`** – это `USVString` (en-US), содержащий протокол URL включая `':'` в конце.

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

string = object.protocol;
object.protocol = string;
```

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


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

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

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

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

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

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

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

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

* для URL, начинающегося с `http` или `https`, – протокол, `'://'`, домен, `':'`, порт (порт по умолчанию, `80` и `443` соответственно, если указаны явно);
* для URL, начинающегося с `file:`, – значение зависит от браузера;
* для URL, начинающегося с `blob:`, – основа URL следующего за `blob:`. Т.е. для `"blob:https://mozilla.org"` будет `"https://mozilla.org".`

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

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

string = object.origin;
```

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


```js
// На этой странице
var result = window.location.origin; // Вернёт: 'https://developer.mozilla.org'
```

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

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

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

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

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

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

Метод **`HTMLHyperlinkElementUtils.toString()`** возвращает `USVString` (en-US), содержащий URL целиком. Это версия `HTMLHyperlinkElementUtils.href` только для чтения.

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

string = object.toString();
```

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


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

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

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

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

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

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

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

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

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

string = object.pathname;
object.pathname = string;
```

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


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

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

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

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

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

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

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

Метод **`claim()`** интерфейса `Clients` позволяет активному сервис-воркеру установить себя `контролирующим воркером` для всех клиентских страниц в своей `области видимости` (en-US). Вызывает событие "`controllerchange`" на `navigator.serviceWorker` всех клиентских страниц, контролируемых сервис-воркером.

После регистрации сервис-воркера страницы не начнут использовать его, пока не загрузятся вновь. Метод `claim()` позволяет установить контроль над страницами немедленно. Имейте в виду, что в этом случае ваш сервис-воркер будет контролировать все загружаемые по сети страницы этого origin, в т. ч. из других сервис-воркеров.

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


```js
await clients.claim();
```

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

Нет.

### Результат

`Promise` с `undefined`.

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

В примере ниже внутри обработчика события "`activate`" сервис-воркера используется метод `claim()`, что позволяет клиентской странице, загруженной в той же области видимости, обходиться без перезагрузки для использования сервис-воркером.


```js
self.addEventListener("activate", (event) => {
  event.waitUntil(clients.claim());
});
```

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

| Specification |
| --- |
| Service Workers # clients-claim |

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

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

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

* Использование Service Worker
* The service worker lifecycle
* Is ServiceWorker ready?
* `Promises`
* `self.skipWaiting()` (en-US) — переключайте состояние ожидания сервис-воркера
Clients.openWindow()
====================

Метод **`openWindow()`** интерфейса `Clients` создаёт новый контекст просмотра верхнего уровня и загружает заданный URL. Если вызывающий скрипт не имеет разрешения на отображение всплывающих окон, `openWindow()` выдаст `InvalidAccessError`.

В Firefox этому методу разрешено отображать всплывающие окна только при вызове события клике по уведомлению.

В Chrome для Android этот метод может открыть URL-адрес в существующем контексте просмотра, предоставляемым автономным веб-приложением (standalone web app), ранее добавленным на главный экран пользователя. С недавнего времени это также работает в Chrome для Windows.

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

self.clients.openWindow(url).then(function(windowClient) {
  // Do something with your WindowClient
});
```

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

`url`

`USVString` (en-US) - URL-адрес клиента, который вы хотите открыть. Обычно это значение должно быть URL из того же источника, что и вызывающий скрипт.

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

`Promise`, который преобразуется в объект `WindowClient`, если URL-адрес исходит из того же источника, что и сервис-воркер, иначе null value .

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


```js
// Отправить уведомление в OS, если возможно
if (self.Notification.permission === "granted") {
  const notificationObject = {
    body: "Click here to view your messages.",
    data: { url: self.location.origin + "/some/path" },
    // data: { url: 'http://example.com' },
  };
  self.registration.showNotification(
    "You've got messages!",
    notificationObject,
  );
}

// Обработчик события клика по уведомлению
self.addEventListener("notificationclick", (e) => {
  // Закрываем всплывающее окно с уведомлением
  e.notification.close();
  // Получите все клиенты Windows
  e.waitUntil(
    clients.matchAll({ type: "window" }).then((clientsArr) => {
      // Если вкладка, соответствующая целевому URL-адресу, уже существует, сфокусируйтесь на ней;
      const hadWindowToFocus = clientsArr.some((windowClient) =>
        windowClient.url === e.notification.data.url
          ? (windowClient.focus(), true)
          : false,
      );
      // В противном случае откройте новую вкладку для соответствующего URL-адреса и сфокусируйте её.
      if (!hadWindowToFocus)
        clients
          .openWindow(e.notification.data.url)
          .then((windowClient) => (windowClient ? windowClient.focus() : null));
    }),
  );
});
```

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

| Specification |
| --- |
| Service Workers # clients-openwindow |

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

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

Метод **`start`** активирует один из датчиков, наследованных от `Sensor`.

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


```js
start();
```

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

Нет.

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

Нет (`undefined`).

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

| Specification |
| --- |
| Generic Sensor API # sensor-start |

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

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
Sensor: activate event
======================

Событие **`activate`** происходит, когда датчик переходит в активное состояние. Это значит, что он начинает собирать показания.

Интерфейс `Sensor` это базовый класс, события `onactivate` и `activate` могут быть использованы только в одном из наследуемых классов.

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

Можно использовать как название события в `addEventListener()`, так и как свойство - обработчик события.


```js
addEventListener("activate", (event) => {});

onactivate = (event) => {};
```

Тип события
-----------

Общий `Event` без дополнительных свойств.

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

### Логирование, когда акселерометр готов к измерению

Этот пример добавляет слушатель события, который логирует активацию `Accelerometer` (en-US).


```js
const acl = new Accelerometer({ frequency: 60 });
acl.addEventListener("activate", () => console.log("Готов к измерениям."));
acl.start();
```

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

| Specification |
| --- |
| Generic Sensor API # sensor-onactivate |

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

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

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

* Событие `error`
* Событие `reading`
Sensor: reading event
=====================

Событие **`reading`** происходит когда на датчике доступны новые показания.

Интерфейс `Sensor` это базовый класс, события `onreading` и `reading` могут быть использованы только в одном из наследуемых классов.

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

Можно использовать как название события в `addEventListener()`, так и как свойство - обработчик события.


```js
addEventListener("reading", (event) => {});

onreading = (event) => {};
```

Тип события
-----------

Общий `Event` без дополнительных свойств.

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

### Получение ускорения

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


```js
const acl = new Accelerometer({ frequency: 60 });
acl.addEventListener("reading", () => {
  console.log("Ускорение по оси X " + acl.x);
  console.log("Ускорение по оси Y " + acl.y);
  console.log("Ускорение по оси Z " + acl.z);
});
acl.start();
```

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

| Specification |
| --- |
| Generic Sensor API # sensor-onreading |

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

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

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

* Событие `activate`
* Событие `error`
Sensor.activated
================

Свойство **`activated`** интерфейса `Sensor` возвращает boolean значение, определяющее в активном ли состоянии находится датчик. Только для чтения.

Так как `Sensor` это базовый класс, то `activated` можно прочитать только из одного из наследованных классов.

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

Boolean значение.

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

| Specification |
| --- |
| Generic Sensor API # sensor-activated |

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

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

Свойство **`hasReading`** интерфейса `Sensor` возвращает boolean значение, определяющее считывает ли датчик показания. Только для чтения.

Так как `Sensor` это базовый класс, то `hasReading` можно прочитать только из одного из наследованных классов.

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

Boolean значение.

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

| Specification |
| --- |
| Generic Sensor API # sensor-has-reading |

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

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

Метод **`stop`** интерфейса `Sensor` деактивирует датчик.

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


```js
stop();
```

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

Нет.

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

Нет (`undefined`).

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


```js
// TBD
```

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

| Specification |
| --- |
| Generic Sensor API # sensor-stop |

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

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
Sensor: error event
===================

Событие **`error`** происходит когда на датчике возникает исключение.

Интерфейс `Sensor` это базовый класс, события `onerror` и `error` могут быть использованы только в одном из наследуемых классов.

После того, как это событие произошло, объект `Sensor` переходит в стадию покоя. Если датчик считывал показания, то он прекратит это делать до перезапуска.

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

Можно использовать как название события в `addEventListener()`, так и как свойство - обработчик события.


```js
addEventListener("error", (event) => {});

onerror = (event) => {};
```

Тип события
-----------

`SensorErrorEvent` (en-US). Унаследован от `Event`.

Event

SensorErrorEvent

(en-US)Свойства события
----------------

*В дополнение к свойствам описанным ниже, также доступны свойства из родительского интерфейса `Event`.*

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

Возвращает исключение `DOMException` (en-US).

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

### Логирование ошибок акселерометра

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


```js
const acl = new Accelerometer({ frequency: 60 });
acl.addEventListener("error", (error) => console.log(`Error: ${error.name}`));
acl.start();
```

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

| Specification |
| --- |
| Generic Sensor API # sensor-onerror |

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

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

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

* Событие `activate`
* Событие `reading`
Sensor.timestamp
================

Свойство **`timestamp`** интерфейса `Sensor` возвращает время последнего считывания данных. Только для чтения.

Так как `Sensor` это базовый класс, то `timestamp` можно прочитать только из одного из наследованных классов.

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

`DOMHighResTimeStamp`.

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

| Specification |
| --- |
| Generic Sensor API # sensor-timestamp |

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

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

Свойство **onfocus** устанавливает обработчик события onFocus на данный элемент.

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

element.onfocus = выполняемый код при сработке события
```

Примечание
----------

Событие фокуса (focus) вызывается когда пользователь устанавливает фокус на данный элемент.

Чтобы вызвать событие **`onfocus`** на элементах, отличных от полей ввода **input,** им необходимо предварительно добавить атрибут `tabindex` (см. Building keyboard accessibility back in для подробностей).

В отличие от браузеров IE, в которых практически на всех элементах можно вызвать событие фокуса, браузеры, написанные на движке **Gecko (Mozilla Firefox),** не поддерживают это событие\*\*.\*\*

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

| Specification |
| --- |
| UI Events # event-type-focus |
| HTML Standard # handler-onfocus |

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

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

Событие `storage` сигнализирует, что данные в объектах `localStorage` или `sessionStorage` были изменены. Подробнее см. Web Storage API.

Общая информация
----------------

Specification

*Web Storage*

Interface
`StorageEvent` (en-US)
Bubbles

Нет

Cancelable

Нет

Target

DefaultView (`<window>`)

Default Action

Нет

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

| Property | Type | Description |
| --- | --- | --- |
| `target` Только для чтения  | `EventTarget` | The event target (the topmost target in the DOM tree). |
| `type` Только для чтения  | `DOMString` | The type of event. |
| `bubbles` Только для чтения  | `Boolean` | Whether the event normally bubbles or not. |
| `cancelable` Только для чтения  | `Boolean` | Whether the event is cancellable or not. |
| `key` Только для чтения  | `DOMString` (string) | The key being changed. |
| `oldValue` Только для чтения  | `DOMString` (string) | The old value of the key being changed. |
| `newValue` Только для чтения  | `DOMString` (string) | The new value of the key being changed. |
| `url` Только для чтения  | `DOMString` (string) | The address of the document whose key changed. |
| `storageArea` Только для чтения  | `Storage` | The Storage object that was affected. |
gamepadconnected
================

Событие `gamepadconnected` вызывается, когда браузер обнаруживает подключение геймпада или первое использование кнопки/стика.

Основная информация
-------------------

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

Gamepad

Интерфейс

Event

Всплывающее

Нет

Отменяемое

Нет

Цель

DefaultView (`<window>`)

Действие по умолчанию

Отсутствует

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

| Свойство | Тип | Описание |
| --- | --- | --- |
| `target` Только для чтения  | `EventTarget` | Цель события (самый верхний элемент DOM дерева). |
| `type` Только для чтения  | `DOMString` | Тип события. |
| `bubbles` Только для чтения  | `Boolean` | Является ли событие всплывающим. |
| `cancelable` Только для чтения  | `Boolean` | Является ли событие отменяемым. |
| `gamepad` Только для чтения  | `Gamepad` | Единственный атрибут, предоставляющий доступ к данным геймпада для этого события. |

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


```js
// Обратите внимание, что API всё ещё использует вендорные префиксы в браузерах, которые его реализуют
window.addEventListener("gamepadconnected", function (event) {
  // Все значения кнопок и стиков доступны через:
  event.gamepad;
});
```

Связанные события
-----------------

* `gamepaddisconnected (en-US)`
Смотрите также
--------------

* Using Gamepad API (en-US)
Window: событие pageshow
========================

Событие **`pageshow`** отправляется `Window`, когда браузер отображает страницу.

Оно срабатывает в следующих случаях:

* Первоначальная загрузка страницы
* Переход на страницу с другой страницы в том же самом окне или вкладке
* Восстановление состояния ранее открытой страницы на мобильных ОС
* Возврат на страницу по кнопкам браузера "Вперёд" и "Назад"

> 
> **Note:** во время первоначальной загрузки страницы, событие `pageshow` срабатывает *после* события `load`.
> 
> 
> 

|  |  |
| --- | --- |
| Всплывает | Нет |
| Отменяемое | Нет |
| Интерфейс | `PageTransitionEvent` (en-US) |
| Свойство обработчика события | `onpageshow` |

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

Следующий пример создаёт обработчики для событий, перечисленных в массиве `events`. Обработчик `eventLogger()` выводит на консоль каждый тип произошедшего события вместе со значением флага `persisted` (en-US) в событиях `pageshow` и `pagehide`.

### JavaScript


```js
const events = ["pagehide", "pageshow", "unload", "load"];

const eventLogger = (event) => {
  switch (event.type) {
    case "pagehide":
    case "pageshow":
      let isPersisted = event.persisted ? "persisted" : "not persisted";
      console.log("Event:", event.type, "-", isPersisted);
      break;
    default:
      console.log("Event:", event.type);
      break;
  }
};

events.forEach((eventName) => window.addEventListener(eventName, eventLogger));
```

### HTML


```html
<p>
  Откройте консоль и следите за выводом данных при переходе на эту страницу и
  обратно. этой страницы. Попробуйте открыть новые страницы в текущей вкладке, а
  затем вернитесь обратно, и посмотрите, что отобразилось в консоли.
</p>
```

### Результат

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

| Specification |
| --- |
| HTML Standard # event-pageshow |

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

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

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

* `pagehide`
deviceorientation
=================

Событие `deviceorientation` срабатывает, когда с сенсоров ориентации поступают новые данные о текущем положении устройства внутри Земной системы координат. Эти данные собираются с помощью магнитометра устройства. Более детальное объяснение дано в Ориентация и объяснение данных движения (en-US).

Общая информация
----------------

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

Событие DeviceOrientation

Определение

DeviceOrientationEvent

Всплывает

Нет

Отменяемо

Нет

Целевой элемент

По умолчанию (`window`)

Действие по умолчанию

Нет

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

| Property | Type | Description |
| --- | --- | --- |
| `target` Только для чтения  | `EventTarget` | The event target (the topmost target in the DOM tree). |
| `type` Только для чтения  | `DOMString` | The type of event. |
| `bubbles` Только для чтения  | `Boolean` | Whether the event normally bubbles or not |
| `cancelable` Только для чтения  | `Boolean` | Whether the event is cancellable or not? |
| `alpha` Только для чтения  | double (float) | The current orientation of the device around the Z axis; that is, how far the device is rotated around a line perpendicular to the device. |
| `beta` Только для чтения  | double (float) | The current orientation of the device around the X axis; that is, how far the device is tipped forward or backward. |
| `gamma` Только для чтения  | double (float) | The current orientation of the device around the Y axis; that is, how far the device is turned left or right. |
| `absolute` Только для чтения  | `boolean` | This value is `true` if the orientation is provided as a difference between the device coordinate frame and the Earth coordinate frame; if the device can't detect the Earth coordinate frame, this value is `false`. |

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


```js
if (window.DeviceOrientationEvent) {
  window.addEventListener(
    "deviceorientation",
    function (event) {
      // alpha: rotation around z-axis
      var rotateDegrees = event.alpha;
      // gamma: left to right
      var leftToRight = event.gamma;
      // beta: front back motion
      var frontToBack = event.beta;

      handleOrientationEvent(frontToBack, leftToRight, rotateDegrees);
    },
    true,
  );
}

var handleOrientationEvent = function (
  frontToBack,
 leftToRight,
 rotateDegrees,
) {
  // Сделайте что-нибудь необычное здесь
};
```

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

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

Похожие события
---------------

* `devicemotion` (en-US)
Смотрите также
--------------

* `DeviceMotionEvent` (en-US)
* `window.ondeviceorientation` (en-US)
* Определение ориентации устройства (en-US)
* Ориентация и объяснение данных о движении (en-US)
* Имитация события смены ориентации в настольный браузерах с помощью orientation-devtool