NavigatorUAData
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
Note: This feature is available in Web Workers.
The NavigatorUAData
interface of the User-Agent Client Hints API returns information about the browser and operating system of a user.
An instance of this object is returned by calling Navigator.userAgentData
or WorkerNavigator.userAgentData
. Therefore, this interface has no constructor.
Note:
The terms high entropy and low entropy refer to the amount of information these values reveal about the browser. The values returned as properties are deemed low entropy, and unlikely to identify a user. The values returned by NavigatorUAData.getHighEntropyValues()
could potentially reveal more information. These values are therefore retrieved via a Promise
, allowing time for the browser to request user permission, or make other checks.
Instance properties
-
Returns an array of brand information containing the browser name and version.
-
Returns
true
if the user-agent is running on a mobile device. -
Returns the platform brand the user-agent is running on.
Instance methods
-
Returns a
Promise
that resolves with a dictionary object containing the high entropy values the user-agent returns. -
A serializer that returns a JSON representation of the low entropy properties of the
NavigatorUAData
object.
Examples
Getting the brands
The following example prints the value of NavigatorUAData.brands
to the console.
console.log(navigator.userAgentData.brands);
Returning high entropy values
In the following value a number of hints are requested using the NavigatorUAData.getHighEntropyValues()
method. When the promise resolves, this information is printed to the console.
navigator.userAgentData
.getHighEntropyValues([
"architecture",
"model",
"platform",
"platformVersion",
"fullVersionList",
])
.then((ua) => {
console.log(ua);
});
Specifications
Specification |
---|
User-Agent Client Hints # navigatoruadata |
Browser compatibility
BCD tables only load in the browser