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 der NavigatorUAData
Schnittstelle 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 offenbaren.
Die als Eigenschaften zurückgegebenen Werte werden als low entropy betrachtet und identifizieren einen Benutzer wahrscheinlich nicht.
Die Werte, die von getHighEntropyValues()
zurückgegeben werden, könnten potenziell mehr Informationen preisgeben.
Diese Werte werden daher über ein Promise
abgerufen, was dem Browser Zeit gibt, die Erlaubnis des Benutzers anzufordern oder andere Überprüfungen durchzuführen.
Syntax
getHighEntropyValues(hints)
Parameter
hints
-
Ein Array, das die zurückzugebenden Hinweise enthält, eine oder mehrere der folgenden:
"architecture"
"bitness"
"formFactors"
"fullVersionList"
"model"
"platformVersion"
"uaFullVersion"
Veraltet"wow64"
Rückgabewert
Ein Promise
, das zu einem Objekt aufgelöst wird, das 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 Browsermarke und deren Version angeben (dieselben Informationen wie bereitgestellt vonNavigatorUAData.brands
). Beachten Sie, dass diese Informationen in derSec-CH-UA
Header (ein niedrig-Entropy-Client-Hinweis) gesendet werden können. mobile
-
Gibt
true
zurück, wenn der User-Agent auf einem mobilen Gerät ausgeführt wird (dieselben Informationen wie bereitgestellt vonNavigatorUAData.mobile
). Beachten Sie, dass diese Informationen in derSec-CH-UA-Mobile
Header (ein niedrig-Entropy-Client-Hinweis) gesendet werden können. platform
-
Gibt einen String zurück, der die Plattform beschreibt, auf der der User-Agent ausgeführt wird, wie
"Windows"
(dieselben Informationen wie bereitgestellt vonNavigatorUAData.platform
). Beachten Sie, dass diese Informationen in derSec-CH-UA-Platform
Header (ein niedrig-Entropy-Client-Hinweis) gesendet werden können. architecture
-
Ein String, der die Plattformarchitektur enthält. Zum Beispiel
"x86"
. Beachten Sie, dass diese Informationen in derSec-CH-UA-Arch
Header gesendet werden können, nachdem der Server dies explizit imAccept-CH
Header angefordert hat. bitness
-
Ein String, der die Bitzahl der Architektur enthält. Zum Beispiel
"32"
oder"64"
. Beachten Sie, dass diese Informationen in derSec-CH-UA-Bitness
Header gesendet werden können, wenn der Server dies explizit imAccept-CH
Header 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-Factors
Header gesendet werden können, wenn der Server dies explizit imAccept-CH
Header anfordert. fullVersionList
-
Ein Array von Objekten mit den Eigenschaften
"brand"
und"version"
, das jeweils den Browsernamen und die vollständige Version repräsentiert. 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-List
Header gesendet werden können, wenn der Server dies explizit imAccept-CH
Header anfordert. model
-
Ein String, der das Modell eines mobilen Geräts enthält. Zum Beispiel
"Pixel 2XL"
. Wenn das Gerät kein mobiles Gerät ist oder das Gerätemodell unbekannt ist, wirdmodel
""
sein. Beachten Sie, dass diese Informationen in derSec-CH-UA-Model
Header gesendet werden können, wenn der Server dies 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 derSec-CH-UA-Platform-Version
Header gesendet werden können, wenn der Server dies 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 derSec-CH-UA-Full-Version
Header gesendet werden können, wenn der Server dies explizit imAccept-CH
Header anfordert. wow64
-
Ein Boolean, der angibt, ob das Binärprogramm des User-Agent im 32-Bit-Modus auf 64-Bit-Windows läuft. Beachten Sie, dass diese Informationen in der
Sec-CH-UA-WoW64
Header gesendet werden können, wenn der Server dies 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 mit der getHighEntropyValues()
Methode angefordert.
Wenn das Promise aufgelöst wird, werden diese Informationen in der 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
Loading…
Siehe auch
- Diese Werte sind auch über HTTP-Anforderungsheader verfügbar:
- Low-entropy Client-Hinweise werden automatisch gesendet:
- Server können anfordern, dass sie bei nachfolgenden Anfragen high-entropy Client-Hinweise erhalten, indem sie den
Accept-CH
Header verwenden: