NavigatorUAData: метод getHighEntropyValues()
Доступ ограничен
Эта функция не относится к Baseline, так как она не работает во всех популярных браузерах.
Экспериментальная функция: Это экспериментальная технология.
Перед использованием в рабочей среде внимательно ознакомьтесь с таблицей совместимости с браузерами.
Примечание: Эта функция доступна в Web Workers.
Метод getHighEntropyValues() интерфейса NavigatorUAData представляет собой Promise, который разрешается объектом-словарём, содержащим значения высокой энтропии, возвращаемые браузером пользователя.
Примечание: Термины высокая энтропия и низкая энтропия относятся к количеству информации, которую эти значения раскрывают о браузере. Возвращаемые значения в качестве свойств считаются значениями с низкой энтропией и вряд ли позволят идентифицировать пользователя. Значения, возвращаемые методом getHighEntropyValues() , потенциально могут содержать больше информации. Поэтому эти значения извлекаются с помощью Promise, что даёт время на запрос разрешения пользователя или выполнение других проверок.
Синтаксис
getHighEntropyValues(hints)
Параметры
hints-
Массив, содержащий запросы, которые будут возвращены, один или несколько из следующих:
"architecture""bitness""formFactor""fullVersionList""model""platformVersion"-
"uaFullVersion"Устаревшее "wow64"
Возвращаемое значение
A Promise, который разрешается объектом, содержащим некоторые или все следующие значения (в зависимости от запрошенных параметров):
brands-
Возвращает массив объектов, содержащих
brandиversion, указывающие на марку браузера и его версию (та же информация, что и предоставленная методомNavigatorUAData.brands). Обратите внимание, что эту информацию можно отправлять на сервер в заголовкеSec-CH-UA(указатель клиента с низкой энтропией). mobile-
Возвращает
true, если пользовательский агент работает на мобильном устройстве (та же информация, что и предоставленная методомNavigatorUAData.mobile). Обратите внимание, что эту информацию можно отправлять на сервер в заголовкеSec-CH-UA-Mobile(указатель клиента с низкой энтропией). platform-
Возвращает строку, описывающую платформу, на которой работает пользовательский агент, например
"Windows"(та же информация, что и предоставленная методомNavigatorUAData.platform). Обратите внимание, что эту информацию можно отправлять на сервер в заголовкеSec-CH-UA-Platform(указатель клиента с низкой энтропией). architecture-
Строка, содержащая архитектуру платформы. Например,
"x86". Обратите внимание, что эту информацию можно отправлять на сервер в заголовкеSec-CH-UA-Archпосле явного запроса сервером в заголовкеAccept-CH. bitness-
Строка, содержащая разрядность архитектуры. Например,
"32"или"64". Обратите внимание, что эту информацию можно отправлять на сервер в заголовкеSec-CH-UA-Bitness, если сервер явным образом запросил её в заголовкеAccept-CH. formFactor-
Строка, содержащая форму фактора устройства. Например,
"Tablet"или"VR". Обратите внимание, что эту информацию можно отправлять на сервер в заголовкеSec-CH-UA-Form-Factor, если сервер явным образом запросил её в заголовкеAccept-CH. fullVersionList-
Массив объектов с свойствами
"brand"и"version", представляющими соответственно имя браузера и полную версию. Например,{"brand": "Google Chrome", "version": "103.0.5060.134"}, {"brand": "Chromium", "version": "103.0.5060.134"}. Обратите внимание, что один объект может преднамеренно содержать некорректную информацию, чтобы предотвратить зависимость сайтов от фиксированного списка браузеров. Обратите внимание, что эту информацию можно отправлять на сервер в заголовкеSec-CH-UA-Full-Version-List, если сервер явным образом запросил её в заголовкеAccept-CH. model-
Строка, содержащая модель мобильного устройства. Например,
"Pixel 2XL". Если устройство не мобильное или модель устройства неизвестна,modelбудет"". Обратите внимание, что эту информацию можно отправлять на сервер в заголовкеSec-CH-UA-Model, если сервер явным образом запросил её в заголовкеAccept-CH. platformVersion-
Строка, содержащая версию платформы. Само имя платформы всегда доступно как указатель клиента с низкой энтропией
platform. Например,"10.0". Обратите внимание, что эту информацию можно отправлять на сервер в заголовкеSec-CH-UA-Platform-Version, если сервер явным образом запросил её в заголовкеAccept-CH. uaFullVersionУстаревшее-
Строка, содержащая полную версию браузера. Например,
"103.0.5060.134". Устарело в пользуfullVersionList. Обратите внимание, что эту информацию можно отправлять на сервер в заголовкеSec-CH-UA-Full-Version, если сервер явным образом запросил её в заголовкеAccept-CH. wow64-
Булево значение, указывающее, запущен ли двоичный файл пользовательского агента в 32-битном режиме на 64-битном Windows. Обратите внимание, что эту информацию можно отправлять на сервер в заголовке
Sec-CH-UA-WoW64, если сервер явным образом запросил её в заголовкеAccept-CH.
Исключения
-
NotAllowedErrorDOMException -
Выбрасывается, если пользовательский агент решает, что одно или несколько запрошенных
hintsне должны быть возвращены.
Примеры
В следующем примере с помощью метода getHighEntropyValues() запрашивается несколько параметров. Когда промис разрешается, эта информация выводится в консоль.
navigator.userAgentData
.getHighEntropyValues([
"architecture",
"model",
"platformVersion",
"fullVersionList",
])
.then((values) => console.log(values));
Спецификации
Совместимость с браузерами
| Рабочий стол | Мобильный | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
getHighEntropyValues |
90 | 90 | Нет | 76 | Нет | 90 | Нет | 64 | Нет | Нет | Нет |
См. также
- Эти значения также доступны через заголовки HTTP-запросов:
- Низкоэнтропийные подсказки клиента отправляются автоматически:
- Серверы могут запросить получение высокоэнтропийных подсказок клиента в последующих запросах, используя заголовок
Accept-CH:
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/NavigatorUAData/getHighEntropyValues