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 gibt ein Promise zurück, das mit einem Wörterbuch-Objekt aufgelöst wird, das sowohl Informationen mit geringer Entropie als auch die angeforderten Informationen mit hoher Entropie über den Browser enthält.
Das aufgelöste Objekt enthält die "geringe Entropie" Eigenschaften, die standardmäßig im NavigatorUAData Objekt enthalten sind — dies sind die Werte, die wahrscheinlich kein Fingerprinting des Benutzers ermöglichen.
Es enthält auch die Teilmenge der "hohen Entropie"-Werte, die im Parameterobjekt angefordert wurden und für die die Erlaubnis erteilt wurde.
Dies sind die Werte, die eher ein Fingerprinting ermöglichen.
Beachten Sie, dass die Bedeutung der Begriffe geringe Entropie und hohe Entropie der im HTTP User Agent Client Hints Mechanismus definierten Bedeutung entspricht.
Hinweis:
Die Verwendung der getHighEntropyValues() Methode zum Abrufen von Benutzeragent-Daten mit hoher Entropie kann über die ch-ua-high-entropy-values Permissions-Policy gesteuert werden.
Wenn die Erlaubnis nicht erteilt ist, gibt die Methode nur die Daten mit geringer Entropie brands, mobile und platform zurück.
Syntax
getHighEntropyValues(hints)
Parameter
hints-
Ein Array, das die zurückzugebenden Hinweise mit hoher Entropie enthält. Dies kann eines oder mehrere der folgenden Elemente umfassen:
"architecture""bitness""formFactors""fullVersionList""model""platformVersion""uaFullVersion"Veraltet"wow64"
Rückgabewert
Ein Promise, das mit einem Objekt aufgelöst wird, das einige oder alle der folgenden Werte enthält (basierend auf den angeforderten und gewährten Hinweisen):
brands-
Gibt ein Array von Objekten zurück, das
brandundversionenthält und die Browsermarke und deren Version angibt (dieselben Informationen wie bereitgestellt vonNavigatorUAData.brands). Beachten Sie, dass diese Informationen in derSec-CH-UAKopfzeile (ein low-entropy client hint) an einen Server gesendet werden können. mobile-
Gibt
truezurück, wenn der Benutzeragent auf einem mobilen Gerät läuft (dieselben Informationen wie bereitgestellt vonNavigatorUAData.mobile). Beachten Sie, dass diese Informationen in derSec-CH-UA-MobileKopfzeile (ein low-entropy client hint) an einen Server gesendet werden können. platform-
Gibt einen String zurück, der die Plattform beschreibt, auf der der Benutzeragent läuft, wie
"Windows"(dieselben Informationen wie bereitgestellt vonNavigatorUAData.platform). Beachten Sie, dass diese Informationen in derSec-CH-UA-PlatformKopfzeile (ein low-entropy client hint) an einen Server gesendet werden können. architecture-
Ein String, der die Plattformarchitektur enthält. Zum Beispiel
"x86". Beachten Sie, dass diese Informationen in derSec-CH-UA-ArchKopfzeile gesendet werden können, nachdem der Server sie explizit in derAccept-CHKopfzeile angefordert hat. bitness-
Ein String, der die Architektur-Bissigkeit enthält. Zum Beispiel
"32"oder"64". Beachten Sie, dass diese Informationen in derSec-CH-UA-BitnessKopfzeile gesendet werden können, wenn der Server sie explizit in derAccept-CHKopfzeile anfordert. formFactors-
Ein Array von Strings, das die Formfaktoren eines Geräts enthält. Zum Beispiel
["Tablet", "XR"]. Beachten Sie, dass diese Informationen in derSec-CH-UA-Form-FactorsKopfzeile gesendet werden können, wenn der Server sie explizit in derAccept-CHKopfzeile anfordert. fullVersionList-
Ein Array von Objekten mit den Eigenschaften
"brand"und"version", die den Browsernamen und die vollständige Version repräsentieren. 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 derSec-CH-UA-Full-Version-ListKopfzeile gesendet werden können, wenn der Server sie explizit in derAccept-CHKopfzeile anfordert. model-
Ein String, der das Modell des mobilen Endgeräts enthält. Zum Beispiel
"Pixel 2XL". Wenn das Gerät kein mobiles Gerät ist oder das Gerätemodell nicht bekannt ist, wirdmodel""sein. Beachten Sie, dass diese Informationen in derSec-CH-UA-ModelKopfzeile gesendet werden können, wenn der Server sie explizit in derAccept-CHKopfzeile anfordert. platformVersion-
Ein String, der die Plattformversion enthält. Der Plattformname selbst ist immer als Hinweis mit geringer Entropie
platformverfügbar. Zum Beispiel"10.0". Beachten Sie, dass diese Informationen in derSec-CH-UA-Platform-VersionKopfzeile gesendet werden können, wenn der Server sie explizit in derAccept-CHKopfzeile anfordert. uaFullVersionVeraltet-
Ein String, der die vollständige Browserversion enthält. Zum Beispiel
"103.0.5060.134". Veraltet zugunsten vonfullVersionList. Beachten Sie, dass diese Informationen in derSec-CH-UA-Full-VersionKopfzeile gesendet werden können, wenn der Server sie explizit in derAccept-CHKopfzeile anfordert. wow64-
Ein Boolean, der angibt, ob das Benutzeragent-Binärprogramm im 32-Bit-Modus auf 64-Bit Windows läuft. Beachten Sie, dass diese Informationen in der
Sec-CH-UA-WoW64Kopfzeile gesendet werden können, wenn der Server sie explizit in derAccept-CHKopfzeile anfordert.
Ausnahmen
NotAllowedErrorDOMException-
Wird ausgelöst, wenn der Benutzeragent entscheidet, dass einer oder mehrere der angeforderten
hintsnicht zurückgegeben werden sollten.
Beispiele
Im folgenden Beispiel werden eine Reihe von Hinweisen mit der getHighEntropyValues() Methode angefordert.
Wenn das Versprechen 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 als HTTP-Anfrage-Header verfügbar:
- Hinweise mit geringer Entropie werden automatisch gesendet:
- Server können anfordern, dass sie Hinweise mit hoher Entropie bei nachfolgenden Anforderungen erhalten, indem sie den
Accept-CHHeader verwenden: