NavigatorUAData

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Experimental: これは実験的な機能です。
本番で使用する前にブラウザー互換性一覧表をチェックしてください。

メモ: この機能はウェブワーカー内で利用可能です。

NavigatorUADataユーザーエージェントクライアントヒント API のインターフェイスで、ユーザーのブラウザーとオペレーティングシステムに関する情報を返します。

このオブジェクトのインスタンスは Navigator.userAgentData または WorkerNavigator.userAgentData を呼び出すことによって返されます。そのため、このインターフェイスにはコンストラクターはありません。

メモ: 「高エントロピー」と「低エントロピー」という用語は、これらの値がブラウザーについて明らかにする情報の量を参照しています。プロパティとして返される値は、低エントロピーであり、ユーザーを特定する可能性が低いと判断されます。 NavigatorUAData.getHighEntropyValues() によって返される値は、より多くの情報を明らかにする可能性があります。そのため、これらの値は Promise によって取得され、ブラウザーがユーザーの許可を要求したり、他のチェックを行ったりするための時間を確保することができます。

インスタンスプロパティ

ブラウザー名とバージョンを格納したブランド情報の配列を返します。

ユーザーエージェントがモバイル端末で動作している場合は true を返します。

ユーザーエージェントが動作しているプラットフォームのブランドを返します。

インスタンスメソッド

ユーザーエージェントが返す高エントロピー値を格納した辞書オブジェクトで解決する Promise を返します。

NavigatorUAData オブジェクトの低エントロピープロパティの JSON 表現を返すシリアライザーです。

ブランド名の取得

以下の例は、 NavigatorUAData.brands の値をコンソールに表示するものです。

js
console.log(navigator.userAgentData.brands);

高エントロピー値の返却

以下の値では、 NavigatorUAData.getHighEntropyValues() メソッドを使用して、多くのヒントをリクエストしています。プロミスが解決すると、この情報がコンソールに表示されます。

js
navigator.userAgentData
  .getHighEntropyValues([
    "architecture",
    "model",
    "platform",
    "platformVersion",
    "fullVersionList",
  ])
  .then((ua) => {
    console.log(ua);
  });

仕様書

Specification
User-Agent Client Hints
# navigatoruadata

ブラウザーの互換性

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
NavigatorUAData
Experimental
brands
Experimental
getHighEntropyValues
Experimental
mobile
Experimental
platform
Experimental
toJSON
Experimental

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support
Experimental. Expect behavior to change in the future.
See implementation notes.

関連情報