Spec-Zone.ru › Web APIs

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.

Исключения

NotAllowedError DOMException

Выбрасывается, если пользовательский агент решает, что одно или несколько запрошенных hints не должны быть возвращены.

Примеры

В следующем примере с помощью метода getHighEntropyValues() запрашивается несколько параметров. Когда промис разрешается, эта информация выводится в консоль.

navigator.userAgentData
  .getHighEntropyValues([
    "architecture",
    "model",
    "platformVersion",
    "fullVersionList",
  ])
  .then((values) => console.log(values));

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

Спецификация
User-Agent Client Hints
# dom-navigatoruadata-gethighentropyvalues

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

Рабочий стол Мобильный
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
getHighEntropyValues 90 90 Нет 76 Нет 90 Нет 64 Нет Нет Нет

См. также

  • Эти значения также доступны через заголовки HTTP-запросов:
    • Низкоэнтропийные подсказки клиента отправляются автоматически:
      • Sec-CH-UA
      • Sec-CH-UA-Mobile
      • Sec-CH-UA-Platform
    • Серверы могут запросить получение высокоэнтропийных подсказок клиента в последующих запросах, используя заголовок Accept-CH:
      • Sec-CH-UA-Arch
      • Sec-CH-UA-Bitness
      • Sec-CH-UA-Full-Version
      • Sec-CH-UA-Model
      • Sec-CH-UA-Platform-Version

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API