NavigatorUAData: getHighEntropyValues() Methode
Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig, bevor Sie diese produktiv verwenden.
Hinweis: Dieses Feature ist verfügbar in Web Workers.
Die getHighEntropyValues()
-Methode des NavigatorUAData
-Interfaces ist ein Promise
, das mit einem Wörterbuchobjekt aufgelöst wird, das die hochentropischen Werte enthält, die der User-Agent zurückgibt.
Hinweis: Die Begriffe hochentropisch und niedrigentropisch beziehen sich auf die Menge an Informationen, die diese Werte über den Browser preisgeben.
Die als Eigenschaften zurückgegebenen Werte werden als niedrigentropisch angesehen und sind unwahrscheinlich, einen Benutzer zu identifizieren.
Die von getHighEntropyValues()
zurückgegebenen Werte könnten potenziell mehr Informationen preisgeben.
Diese Werte werden daher über ein Promise
abgerufen, das dem Browser Zeit gibt, die Benutzererlaubnis anzufordern oder andere Überprüfungen durchzuführen.
Syntax
getHighEntropyValues(hints)
Parameter
hints
-
Ein Array, das die zurückzugebenden Hinweise enthält, einer oder mehrere der folgenden:
"architecture"
"bitness"
"formFactor"
"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 und die Browsermarke und deren Version angibt (die gleichen Informationen wie bereitgestellt vonNavigatorUAData.brands
). Beachten Sie, dass diese Informationen in derSec-CH-UA
-Header an einen Server gesendet werden können (ein niedrigentropischer Client-Hinweis). mobile
-
Gibt
true
zurück, wenn der User-Agent auf einem mobilen Gerät ausgeführt wird (die gleichen Informationen wie bereitgestellt vonNavigatorUAData.mobile
). Beachten Sie, dass diese Informationen in derSec-CH-UA-Mobile
-Header an einen Server gesendet werden können (ein niedrigentropischer Client-Hinweis). platform
-
Gibt einen String zurück, der die Plattform beschreibt, auf der der User-Agent ausgeführt wird, wie z.B.
"Windows"
(die gleichen Informationen wie bereitgestellt vonNavigatorUAData.platform
). Beachten Sie, dass diese Informationen in derSec-CH-UA-Platform
-Header an einen Server gesendet werden können (ein niedrigentropischer Client-Hinweis). architecture
-
Ein String, der die Plattformarchitektur enthält. Zum Beispiel
"x86"
. Beachten Sie, dass diese Informationen in derSec-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 derSec-CH-UA-Bitness
-Header an einen Server gesendet werden können, wenn der Server sie explizit imAccept-CH
-Header angefordert hat. formFactor
-
Ein String, der den Formfaktor eines Geräts enthält. Zum Beispiel
"Tablet"
oder"VR"
. Beachten Sie, dass diese Informationen in derSec-CH-UA-Form-Factor
-Header an einen Server gesendet werden können, wenn der Server sie explizit imAccept-CH
-Header angefordert hat. fullVersionList
-
Ein Array von Objekten mit den Eigenschaften
"brand"
und"version"
, die jeweils 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"}
. Beachten Sie, dass ein Objekt absichtlich ungültige Informationen enthalten kann, um zu verhindern, dass sich Websites auf eine feste Liste von Browsern verlassen. Beachten Sie, dass diese Informationen in derSec-CH-UA-Full-Version-List
-Header an einen Server gesendet werden können, wenn der Server sie explizit imAccept-CH
-Header angefordert hat. model
-
Ein String, der das Modell des mobilen Gerä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-Model
-Header an einen Server gesendet werden können, wenn der Server sie explizit imAccept-CH
-Header angefordert hat. platformVersion
-
Ein String, der die Plattformversion enthält. Der Plattformname selbst ist immer als niedrigentropischer Hinweis
platform
verfügbar. Zum Beispiel"10.0"
. Beachten Sie, dass diese Informationen in derSec-CH-UA-Platform-Version
-Header an einen Server gesendet werden können, wenn der Server sie explizit imAccept-CH
-Header angefordert hat. 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 an einen Server gesendet werden können, wenn der Server sie explizit imAccept-CH
-Header angefordert hat. wow64
-
Ein Boolean, der anzeigt, ob das Binary des User-Agents im 32-Bit-Modus auf einem 64-Bit-Windows ausgeführt wird. Beachten Sie, dass diese Informationen in der
Sec-CH-UA-WoW64
-Header an einen Server gesendet werden können, wenn der Server sie explizit imAccept-CH
-Header angefordert hat.
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 mit der getHighEntropyValues()
Methode eine Reihe von Hinweisen angefordert.
Wenn das Versprechen 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
BCD tables only load in the browser
Siehe auch
- Diese Werte sind auch über HTTP-Anforderungsheader zugänglich:
- Niedrigentropische Client-Hinweise werden automatisch gesendet:
- Server können anfordern, dass sie bei folgenden Anforderungen hochentropische Client-Hinweise erhalten, indem sie den
Accept-CH
-Header verwenden: