NavigatorUAData: getHighEntropyValues() Methode

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.

Hinweis: Diese Funktion ist in Web Workers verfügbar.

Die getHighEntropyValues() Methode des NavigatorUAData Interfaces ist ein Promise, das mit einem Wörterbuchobjekt aufgelöst wird, das die High-Entropy-Werte enthält, die der User-Agent zurückgibt.

Hinweis: Die Begriffe High-Entropy und Low-Entropy beziehen sich auf die Menge an Informationen, die diese Werte über den Browser preisgeben. Die als Eigenschaften zurückgegebenen Werte werden als Low-Entropy betrachtet und sind unwahrscheinlich, einen Benutzer zu identifizieren. Die von getHighEntropyValues() zurückgegebenen Werte könnten potenziell mehr Informationen offenbaren. Diese Werte werden daher über ein Promise abgerufen, das dem Browser Zeit gibt, die Benutzererlaubnis anzufordern oder andere Überprüfungen vorzunehmen.

Syntax

js
getHighEntropyValues(hints)

Parameter

hints

Ein Array, das die zurückzugebenden Hinweise enthält, eine oder mehrere von:

  • "architecture"
  • "bitness"
  • "formFactor"
  • "fullVersionList"
  • "model"
  • "platformVersion"
  • "uaFullVersion" Veraltet
  • "wow64"

Rückgabewert

Ein Promise, das in ein Objekt aufgelöst wird, welches einige oder alle der folgenden Werte enthält (basierend auf den angeforderten Hinweisen):

brands

Gibt ein Array von Objekten zurück, das brand und version enthält, die die Browser-Marke und ihre Version angeben (die gleiche Information, die von NavigatorUAData.brands bereitgestellt wird). Beachten Sie, dass diese Informationen in dem Sec-CH-UA Header an einen Server gesendet werden können (ein Low-Entropy-Client-Hint).

mobile

Gibt true zurück, wenn der User-Agent auf einem mobilen Gerät läuft (die gleiche Information, die von NavigatorUAData.mobile bereitgestellt wird). Beachten Sie, dass diese Informationen in dem Sec-CH-UA-Mobile Header an einen Server gesendet werden können (ein Low-Entropy-Client-Hint).

platform

Gibt einen String zurück, der die Plattform beschreibt, auf der der User-Agent läuft, wie z.B. "Windows" (die gleiche Information, die von NavigatorUAData.platform bereitgestellt wird). Beachten Sie, dass diese Informationen in dem Sec-CH-UA-Platform Header an einen Server gesendet werden können (ein Low-Entropy-Client-Hint).

architecture

Ein String, der die Plattform-Architektur enthält. Zum Beispiel "x86". Beachten Sie, dass diese Informationen in dem Sec-CH-UA-Arch Header an einen Server gesendet werden können, nachdem der Server sie explizit im Accept-CH Header angefordert hat.

bitness

Ein String, der die Architektur-Bitness enthält. Zum Beispiel "32" oder "64". Beachten Sie, dass diese Informationen in dem Sec-CH-UA-Bitness Header an einen Server gesendet werden können, wenn der Server sie explizit im Accept-CH Header anfordert.

formFactor

Ein String, der den Formfaktor eines Geräts enthält. Zum Beispiel "Tablet" oder "VR". Beachten Sie, dass diese Informationen in dem Sec-CH-UA-Form-Factors Header an einen Server gesendet werden können, wenn der Server sie explizit im Accept-CH Header anfordert.

fullVersionList

Ein Array von Objekten mit den Eigenschaften "brand" und "version", die den Browsernamen und die vollständige Version darstellen. Zum Beispiel, {"brand": "Google Chrome", "version": "103.0.5060.134"}, {"brand": "Chromium", "version": "103.0.5060.134"}. Bitte beachten Sie, dass ein Objekt absichtlich ungültige Informationen enthalten kann, um zu verhindern, dass Websites sich auf eine feste Liste von Browsern verlassen. Beachten Sie, dass diese Informationen in dem Sec-CH-UA-Full-Version-List Header an einen Server gesendet werden können, wenn der Server sie explizit im Accept-CH Header anfordert.

model

Ein String, der das Modell des mobilen Geräts enthält. Zum Beispiel "Pixel 2XL". Wenn das Gerät kein mobiles Gerät oder das Gerätemodell nicht bekannt ist, wird model "" sein. Beachten Sie, dass diese Informationen in dem Sec-CH-UA-Model Header an einen Server gesendet werden können, wenn der Server sie explizit im Accept-CH Header anfordert.

platformVersion

Ein String, der die Plattformversion enthält. Der Plattformname selbst ist immer als Low-Entropy-Hinweis platform verfügbar. Zum Beispiel "10.0". Beachten Sie, dass diese Informationen in dem Sec-CH-UA-Platform-Version Header an einen Server gesendet werden können, wenn der Server sie explizit im Accept-CH Header anfordert.

uaFullVersion Veraltet

Ein String, der die vollständige Browserversion enthält. Zum Beispiel "103.0.5060.134". Veraltet zugunsten von fullVersionList. Beachten Sie, dass diese Informationen in dem Sec-CH-UA-Full-Version Header an einen Server gesendet werden können, wenn der Server sie explizit im Accept-CH Header anfordert.

wow64

Ein Boolean-Wert, der angibt, ob das Binary des User Agents im 32-Bit-Modus auf 64-Bit Windows ausgeführt wird. Beachten Sie, dass diese Informationen in dem Sec-CH-UA-WoW64 Header an einen Server gesendet werden können, wenn der Server sie explizit im Accept-CH Header anfordert.

Ausnahmen

NotAllowedError DOMException

Wird ausgelöst, wenn der User-Agent entscheidet, dass einer oder mehrere der angeforderten hints nicht zurückgegeben werden sollten.

Beispiele

Im folgenden Beispiel werden eine Reihe von Hinweisen mithilfe der getHighEntropyValues() Methode angefordert. Sobald das Promise aufgelöst wird, werden diese Informationen in die Konsole ausgegeben.

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

Spezifikationen

Specification
User-Agent Client Hints
# dom-navigatoruadata-gethighentropyvalues

Browser-Kompatibilität

Siehe auch