NavigatorUAData

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

ブラウザーの互換性

BCD tables only load in the browser

関連情報