recursal/MDN huggingface dataset:
navigator: свойство platform
============================

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

Доступное только для чтения свойство `platform` интерфейса `Navigator` возвращает строку с определением платформы, на которой запущен браузер.

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

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

Строка с определением платформы, на которой запущен браузер, например: `"MacIntel"`, `"Win32"`, `"Linux x86_64"`, `"Linux armv81"`.

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

Почти всегда следует избегать использования `navigator.platform` в пользу обнаружения функций. Но есть один случай, когда `navigator.platform` может быть наименее плохим вариантом: чтобы показать пользователям совет о том какая клавиша является модификатором — командная клавиша `⌘` (в системах Apple) или управляющая клавиша `⌃` (в системах производителей, отличных от Apple):


```js
let modifierKeyPrefix = "^"; // управляющая клавиша
if (
  navigator.platform.indexOf("Mac") === 0 ||
  navigator.platform === "iPhone"
) {
  modifierKeyPrefix = "⌘"; // командная клавиша
}
```


То есть можно проверить, начинается ли `navigator.platform` с `"Mac"` или соответствует `"iPhone"`, и в зависимости от того, верно ли одно из этих значений, можно установить клавишу-модификатор, которая будет использоваться в пользовательском интерфейсе вашего веб-приложения.

Примечания по использованию
---------------------------

В системах Windows современные браузеры возвращают `"Win32"` даже если они запущены на 64-битной версии операционной системы.

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

| Specification |
| --- |
| HTML Standard # dom-navigator-platform-dev |

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

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

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

* `navigator.userAgentData.platform` (en-US)
Navigator: свойство mimeTypes
=============================

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

Возвращает объект `MimeTypeArray` (en-US), который содержит список объектов `MimeType` (en-US), представляющий собой MIME-типы, известные браузеру.

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

mimeTypes = navigator.mimeTypes;
```


`mimeTypes` - объект `MimeTypeArray,` который имеет свойство `length`, а также методы `item(index)` и `namedItem(name)`.

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


```js
function isJavaPresent() {
  return "application/x-java-applet" in navigator.mimeTypes;
}

function getJavaPluginDescription() {
  var mimetype = navigator.mimeTypes["application/x-java-applet"];
  if (mimetype === undefined) {
    // no Java plugin present
    return undefined;
  }
  return mimetype.enabledPlugin.description;
}
```

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

| Specification |
| --- |
| HTML Standard # dom-navigator-mimetypes |

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

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
Navigator: свойство plugins
===========================

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

Возвращает объект `PluginArray` (en-US), список плагинов установленных в приложении.

**Примечание:** Приложения, которые должны проверять наличие плагинов у браузера должны запросить navigator.plugins или `navigator.mimeTypes` с точным названием плагина, а не перебирать массив navigator.plugins сравнения имя каждого плагина. Это изменение конфиденциальности не отключает все плагины; оно просто скрывает некоторые имена плагинов от перебора.

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

var plugins = navigator.plugins;
```


`plugins` используется для доступа к объекту `Plugin` (en-US) или по имени, или как элемент массива..

Возвращаемое значение не массив JavaScript, но оно имеет свойство размера и поддерживает доступ к индивидуальным элементам с использованием квадратных скобок (`plugins[2]`), а также через пункт (индекс) и namedItem ("Name") методы.

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

Этот код показывает, как можно проверить возможность отображения PDF-файлов:


```js
if ("PDF Viewer" in navigator.plugins) {
  // браузер поддерживает просмотр PDF-файлов
}
```

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

`Plugin` (en-US) объект, предоставляет небольшой интерфейс для получения информации о различных плагинах, установленных в вашем браузере. Список плагинов также доступен если ввести `about:plugins` в адресную строку браузера.

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

| Specification |
| --- |
| HTML Standard # dom-navigator-plugins |

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

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
Navigator: метод javaEnabled()
==============================

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

Этот метод всегда возвращает `false`.

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


```js
javaEnabled()
```

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

Нет.

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

Булево значение `false`.

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


```js
if (window.navigator.javaEnabled()) {
  // этот код не будет выполнен; условие всегда равное false
}
```

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

| Specification |
| --- |
| HTML Standard # dom-navigator-javaenabled |

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

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
Navigator: свойство product
===========================

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

Значение свойства `Navigator.product` всегда равно «`Gecko`», в любом браузере. Это свойство существует только в целях совместимости.

**Примечание:** Не полагайтесь на это свойство для получения настоящего имени продукта. Все браузеры возвращают одинаковую строку «`Gecko`» в качестве значения этого свойства.

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

Строка «`Gecko`».

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

| Specification |
| --- |
| HTML Standard # dom-navigator-product-dev |

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

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

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

* `Navigator.appCodeName`
* `Navigator.appName`
Navigator: appName property
===========================

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

Значение свойства `Navigator.appName` всегда равно «`Netscape`», в любом браузере. Это свойство существует только в целях совместимости.

**Примечание:** Не полагайтесь на это свойство для получения настоящего имени браузера. Все браузеры возвращают одинаковую строку «`Netscape`» в качестве значения этого свойства.

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

Строка «`Netscape`».

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

| Specification |
| --- |
| HTML Standard # dom-navigator-appname-dev |

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

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

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

* `Navigator.appCodeName`
* `Navigator.product`
Navigator: свойство language
============================

Доступное только для чтения свойство **`Navigator.language`** возвращает строку, представляющую предпочитаемый пользователем язык, как правило это язык пользовательского интерфейса браузера.

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

Строка представляющая версию языка которая определена в стандарте RFC 5646: Теги для идентификации языков (также известном как BCP 47). Примеры валидных языковых кодов: `en`, `en-US`, `fr`, `fr-FR`, `es-ES` и т.д.

В Safari на iOS до версии 10.2 код страны возвращался в нижнем регистре: `en-us`, `fr-fr` и т.д.

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

### Использование конструкторов Intl для форматирования, зависящего от языка

Конструкторы `Intl` позволяют форматировать содержимое в соответствии с правилами выбранной локали. Вы можете передать им `navigator.language`, чтобы отформатировать содержимое в правилах локали, соответствующей языку пользователя:


```js
const date = new Date("2012-05-24");

const formattedDate = new Intl.DateTimeFormat(navigator.language).format(date);
```

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

| Specification |
| --- |
| HTML Standard # dom-navigator-language-dev |

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

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

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

* `navigator.languages`
* `navigator`
* `Intl`
Navigator.getGamepads()
=======================

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

**`Navigator.getGamepads()`** метод, возвращающий массив `Gamepad` объектов, по одному для каждого геймпада, подключённому к устройству.

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

 var arrayGP = navigator.getGamepads();
```

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


```js
window.addEventListener("gamepadconnected", function (e) {
  var gp = navigator.getGamepads()[0];
  console.log(
    "Gamepad connected at index %d: %s. %d buttons, %d axes.",
    gp.index,
    gp.id,
    gp.buttons.length,
    gp.axes.length,
  );
});
```

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

| Specification |
| --- |
| Gamepad # dom-navigator-getgamepads |

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

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

See also
--------

* Using the Gamepad API (en-US)
Navigator.oscpu
===============

Возвращает строку, которая идентифицирует текущую операционную систему.

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

oscpuInfo = window.navigator.oscpu
```


* `oscpuInfo` это строка которая имеет следующий вид:

| Операционная система | `Формат строки oscpuInfo` |
| --- | --- |
| OS/2 | OS/2 Warp x (either 3, 4 or 4.5) |
| Windows CE | WindowsCE x.y1 |
| Windows 64-bit (64-bit build) | Windows NT x.y; Win64; x64 |
| Windows 64-bit (32-bit build) | Windows NT x.y; WOW64 |
| Windows 32-bit | Windows NT x.y |
| Mac OS X (PPC build) | PPC Mac OS X x.y |
| Mac OS X (i386/x64 build) | Intel Mac OS X x.y |
| Linux 64-bit (32-bit build) | Вывод uname -s плюс "i686 on x86\_64" |
| Linux | Вывод uname -sm |

1x.y относится к версии операционной системы

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


```js
function osInfo() {
  alert(window.navigator.oscpu);
}
// returns: "Windows NT 6.0" for example
```

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

Если ваш код не является привилегированным (chrome или по крайней мере имеет привилегию UniversalBrowserRead), он может получить значение general.oscpu.override, а не истинной платформы.

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

*Не является частью какой-либо спецификации.*
Navigator.mediaDevices
======================

Свойство **`Navigator.mediaDevices`** только для чтения, возвращает объект `MediaDevices`, который предоставляет доступ к подключённым медиа-устройствам ввода, таким как камера и микрофон, а также совместное использование экрана.

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

var mediaDevices = navigator.mediaDevices;
```

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

`MediaDevices` объект синглтон. Как правило, вы просто используете элементы этого объекта напрямую, например с помощью вызова `navigator.mediaDevices.getUserMedia()` (en-US).

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

| Specification |
| --- |
| Media Capture and Streams # mediadevices |

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

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

See also
--------

* Media Capture and Streams API (en-US): The entry point to the documentation about the entire media stream API.
* WebRTC API: Documentation about the WebRTC API, which is closely related.
Navigator: свойство appCodeName
===============================

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

Значение свойства `Navigator.appCodeName` всегда равно «`Mozilla`», в любом браузере. Это свойство существует только в целях совместимости.

**Примечание:** Не полагайтесь на это свойство для получения настоящего имени продукта. Все браузеры возвращают одинаковую строку «`Mozilla`» в качестве значения этого свойства.

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

Строка «`Mozilla`».

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

| Specification |
| --- |
| HTML Standard # dom-navigator-appcodename-dev |

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

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

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

* `Navigator.appName`
* `Navigator.product`
Navigator: свойство appVersion
==============================

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

Возвращает «`4.0`» или строку, представляющую информацию о версии браузера.

**Примечание:** Не полагайтесь на это свойство для получения правильной версии браузера.

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

«`4.0`» или строка, представляющая информацию о версии браузера.

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


```js
alert(`Версия вашего браузера указана как ${navigator.appVersion}`);
```

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

 Свойство `window.navigator.userAgent` может содержать номер версии (например,
 «`Mozilla/5.0 (Windows; U; Win98; en-US; rv:0.9.2) Gecko/20010725 Netscape 6/6.1`»),
 но необходимо учитывать, что строка пользовательского агента может быть легко подменена, чтобы выдать себя за другой браузер или используемую платформу. Кроме того, сами поставщики браузеров относятся к этим свойствам не очень ответственно.

Свойства `window.navigator.appVersion`, `window.navigator.appName` и `window.navigator.userAgent` использовались для «снифинга», то есть попытки определить, какой браузер вы используете, и соответствующим образом скорректировать страницу. Это привело к текущей ситуации, когда браузерам приходится возвращать поддельные значения этих свойств, чтобы не быть заблокированными на некоторых веб-сайтах.

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

| Specification |
| --- |
| HTML Standard # dom-navigator-appversion-dev |

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

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

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

Если метод не в состоянии вибрировать из-за недействительных параметров, он вернёт `false`, иначе вернёт `true`. Если шаблон ведёт к слишком длинной вибрации, он усекается: максимальная длина зависит от конкретной реализации.

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

var successBool = window.navigator.vibrate(pattern);
```


*pattern*

Определяет шаблон вибрации и интервал паузы. Значение указывает на число миллисекунд вибрации или паузы, при чередовании. Вы можете указать либо одно значение (вибрировать постоянно определённое количество миллисекунд) или массив значений, поочерёдно: вибрировать, пауза, затем снова вибрировать. См. Vibration API (en-US) для уточнения деталей.

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

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


```js
window.navigator.vibrate(200); // Вибрировать 200ms
window.navigator.vibrate([
  100, 30, 100, 30, 100, 200, 200, 30, 200, 30, 200, 200, 100, 30, 100, 30, 100,
]); // Вибрировать 'SOS' на азбуке Морзе.
```

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

| Specification |
| --- |
| Vibration API (Second Edition) # dom-navigator-vibrate |

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

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

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

* Vibration API (en-US)
Navigator: метод getBattery()
=============================

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

Метод `getBattery` предоставляет информацию о батарее устройства. Он возвращает промис, результатом обработки которого будет объект `BatteryManager`, содержащий свойства с информацией о состоянии батареи и события, которые можно обрабатывать для его контроля. Для получения более подробной информации и примеров смотрите `Battery Status API` (en-US).

**Примечание:** Доступ к этой функциональности контролируется директивой `battery` (en-US) из `Permissions-Policy` (en-US).

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


```js
getBattery()
```

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

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

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

`Promise`, который будет содержать объект `BatteryManager`.

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

`NotAllowedError` `DOMException` (en-US)

Использование этой функциональности заблокировано Permissions Policy.

`SecurityError` `DOMException` (en-US)

Агент пользователя не предоставляет информацию о батарее в небезопасном контексте, и этот метод был вызван из такого контекста.

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

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


```js
let batteryIsCharging = false;

navigator.getBattery().then((battery) => {
  batteryIsCharging = battery.charging;

  battery.addEventListener("chargingchange", () => {
    batteryIsCharging = battery.charging;
  });
});
```


Для подробностей и дополнительных примеров смотрите `Battery Status API` (en-US).

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

| Specification |
| --- |
| Battery Status API # dom-navigator-getbattery |

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

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

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

* Battery Status API (en-US)
* Директива `battery` (en-US) из `Permissions-Policy` (en-US)
Navigator: свойство languages
=============================

Доступное только для чтения свойство **`Navigator.languages`** возвращает массив строк, представляющих предпочтительные для пользователя языки. Язык представляется кодом в соответствии со стандартом RFC 5646: Теги для идентификации языков (также известном как BCP 47). Возвращаемый массив отсортирован в порядке наибольшего предпочтения пользователем.

Значение `navigator.language` является первым элементом данного массива.

Если происходит изменение предпочтительных для пользователя языков, то вызывается событие `languagechange` (en-US) объекта `Window`.

HTTP-заголовок `Accept-Language` в каждом HTTP-запросе от браузера пользователя использует такое же значение как и в свойстве `navigator.languages`, если не считать дополнительное поле `qvalues` (значения качества), например: `en-US;q=0.8`.

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

Массив строк.

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

### Вывод содержимого navigator.language и navigator.languages


```js
navigator.language; // "en-US"
navigator.languages; // ["en-US", "zh-CN", "ja-JP"]
```

### Использование конструкторов Intl для форматирования, зависящего от языка

Массив идентификаторов языка, содержащийся в `navigator.languages`, может быть передан в конструкторы `Intl`. Будет использована первая поддерживаемая `Intl` локаль из переданного списка:


```js
const date = new Date("2012-05-24");

const formattedDate = new Intl.DateTimeFormat(navigator.languages).format(date);
```

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

| Specification |
| --- |
| HTML Standard # dom-navigator-languages-dev |

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

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

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

* `navigator.language`
* `navigator`
* Событие `languagechange` (en-US)
* `Intl`
NetworkInformation.connection
=============================

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

**`NetworkInformation.connection`** свойство только для чтения представляющее собой `Connection` (en-US) содержащий информацию о системном подключении, таких как текущая пропускная способность пользовательского устройства или определено ли соединение. Это может быть использовано для выбора контента высокой плотности или контента низкой плотности в соединении пользователя.

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

connectionInfo = navigator.connection
```

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

| Specification |
| --- |
| Network Information API # connection-attribute |

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

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

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

* Network Information API (en-US)
* Онлайн- и офлайн-события
* Firefox OS Image Uploader Sample App