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
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
undversion
enthält, die die Browser-Marke und ihre Version angeben (die gleiche Information, die vonNavigatorUAData.brands
bereitgestellt wird). Beachten Sie, dass diese Informationen in demSec-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 vonNavigatorUAData.mobile
bereitgestellt wird). Beachten Sie, dass diese Informationen in demSec-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 vonNavigatorUAData.platform
bereitgestellt wird). Beachten Sie, dass diese Informationen in demSec-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 demSec-CH-UA-Arch
Header an einen Server gesendet werden können, nachdem der Server sie explizit imAccept-CH
Header angefordert hat. bitness
-
Ein String, der die Architektur-Bitness enthält. Zum Beispiel
"32"
oder"64"
. Beachten Sie, dass diese Informationen in demSec-CH-UA-Bitness
Header an einen Server gesendet werden können, wenn der Server sie explizit imAccept-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 demSec-CH-UA-Form-Factors
Header an einen Server gesendet werden können, wenn der Server sie explizit imAccept-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 demSec-CH-UA-Full-Version-List
Header an einen Server gesendet werden können, wenn der Server sie explizit imAccept-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, wirdmodel
""
sein. Beachten Sie, dass diese Informationen in demSec-CH-UA-Model
Header an einen Server gesendet werden können, wenn der Server sie explizit imAccept-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 demSec-CH-UA-Platform-Version
Header an einen Server gesendet werden können, wenn der Server sie explizit imAccept-CH
Header anfordert. uaFullVersion
Veraltet-
Ein String, der die vollständige Browserversion enthält. Zum Beispiel
"103.0.5060.134"
. Veraltet zugunsten vonfullVersionList
. Beachten Sie, dass diese Informationen in demSec-CH-UA-Full-Version
Header an einen Server gesendet werden können, wenn der Server sie explizit imAccept-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 imAccept-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.
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
- Diese Werte sind auch über HTTP-Request-Header verfügbar:
- Low-Entropy-Client-Hints werden automatisch gesendet:
- Server können anfordern, High-Entropy-Client-Hints bei nachfolgenden Anfragen zu erhalten, indem sie den
Accept-CH
Header verwenden: