Navigator
=========

**`Navigator`** インターフェイスは、ユーザーエージェントの状態や身元情報を表します。これにより、スクリプトがこれらの問い合わせを行ったり、アクティビティを実行するために自分自身を登録したりすることができます。

`Navigator` オブジェクトは、読み取り専用の `window.navigator` プロパティを使用して取得できます。

インスタンスプロパティ
-----------

*継承しているプロパティはありません。*

### 標準プロパティ

`Navigator.clipboard` 読取専用 

システムクリップボードへの読み書きアクセスを提供する `Clipboard` オブジェクトです。

`Navigator.connection` 読取専用  
Experimental

端末のネットワーク状態の情報を提供する `NetworkInformation` オブジェクトを返します。

`Navigator.cookieEnabled` 読取専用 

Cookie への設定を無視する場合は false、それ以外は true を返します。

`Navigator.credentials` 読取専用 

ログインやログアウトの成功といったイベントが発生したときに、資格情報を要求してユーザーエージェントへ通知する手段を提供する `CredentialsContainer` (en-US) インターフェイスを返します。

`Navigator.deviceMemory` 読取専用  
Experimental

端末のメモリーをギガバイト単位で返します。この値は 2 の累乗に最も近い値を 1024 で割った概算値です。

`Navigator.geolocation` 読取専用 

端末の物理的な場所を取得することができる `Geolocation` オブジェクトを返します。

`Navigator.gpu` 読取専用  
Experimental

現在の閲覧コンテキストの `GPU` オブジェクトを返します。 WebGPU API のエントリーポイントです。

`Navigator.hid` 読取専用 

`HID` オブジェクトを返します。これは HID 機器の接続、接続されている HID 機器の列挙、接続されている HID 機器のイベントハンドラーなどのメソッドを提供します。

`Navigator.hardwareConcurrency` 読取専用 

使用可能な論理プロセッサーコアの数を返します。

`Navigator.ink` 読取専用  
Experimental

現在の文書の `Ink` (en-US) オブジェクトを返し、 インク API (en-US) の機能へのアクセスを提供します。

`Navigator.keyboard` 読取専用  
Experimental

`Keyboard` オブジェクトを返し、キーボード配置マップを受け取る関数へのアクセスを提供したり、物理キーボードからキーの押下のキャプチャを有効化・無効化したりできるようにします。

`Navigator.language` 読取専用 

ユーザーにとって一番望ましい言語（たいていはブラウザー UI の言語）の文字列を返します。不明な場合には `null` を返します。

`Navigator.languages` 読取専用 

ユーザーが知っている言語を表す文字列を、望ましい順に並べた配列を返します。

`Navigator.locks` 読取専用 

`LockManager` オブジェクトを返します。これは、新しい `Lock` オブジェクトを要求したり、既存の `Lock` オブジェクトをクエリしたりするためのものです。

`Navigator.maxTouchPoints` 読取専用 

現在の端末で対応している同時タッチ点の最大数を返します。

`Navigator.mediaCapabilities` 読取専用 

指定された形式のデコードおよびエンコード能力、それに出力能力についての情報が得られる `MediaCapabilities` (en-US) オブジェクトを返します。

`Navigator.mediaDevices` 読取専用 

`MediaDevices` オブジェクトへの参照を返します。これにより、使用可能なメディア端末の情報を取得する (`MediaDevices.enumerateDevices()`)、ユーザーのコンピューターやユーザーエージェントで、メディアのどのような特性を制限することができるかを確認する (`MediaDevices.getSupportedConstraints()`)、`MediaDevices.getUserMedia()` を使用してメディアへのアクセスを要求するといったことができます。

`Navigator.mediaSession` 読取専用 

`MediaSession` オブジェクトを返します。このオブジェクトは、グローバルメディア制御の UI などで、現在再生中のメディアに関する情報をブラウザーがユーザーに提示する際に使用できるメタデータを提供するために使用することができます。

`Navigator.onLine` 読取専用 

現在のブラウザーがオンラインかどうかを示す論理値を返します。

`Navigator.pdfViewerEnabled` (en-US) 読取専用 

ブラウザーが PDF に移動したときにインラインで表示できるのであれば `true` を、そうでなければ `false` を返します。

`Navigator.permissions` 読取専用 

`Permissions` オブジェクトを返します。これは、権限 API が対応する API の許可状態の問い合わせや更新に使用できます。

`Navigator.presentation` 読取専用 

`Presentation` (en-US) API への参照を返します。

`Navigator.serial` 読取専用  
Experimental

`Serial` オブジェクトを返します。これは、シリアルポートを制御できるようにする `Web Serial API` のエントリーポイントを表します。

`Navigator.serviceWorker` 読取専用 

`ServiceWorkerContainer` オブジェクトを返します。これは、関連付けれた文書の `ServiceWorker` オブジェクトの登録、削除、更新、通信の機能を提供します。

`Navigator.scheduling` (en-US) 読取専用  
Experimental

現在の文書の `Scheduling` (en-US) オブジェクトを返します。

`Navigator.storage` (en-US) 読取専用 

サイトごとまたはアプリごとに持続的な記憶域の許可の管理や使用可能な記憶域の試算に使用する、シングルトンの `StorageManager` オブジェクトを返します。

`Navigator.userActivation` 読取専用 

現在のウィンドウのユーザー起動状態に関する情報を格納した `UserActivation` オブジェクトを返します。

`Navigator.userAgent` 読取専用 

現在のブラウザーのユーザーエージェントを表す文字列を返します。

`Navigator.userAgentData` 読取専用  
Experimental

ユーザーのブラウザーとオペレーティングシステムに関する情報にアクセスするための `NavigatorUAData` オブジェクトを返します。

`Navigator.virtualKeyboard` (en-US) 読取専用  
Experimental

画面上の仮想キーボードを制御するための `VirtualKeyboard` (en-US) API への参照を返します。

`Navigator.webdriver` 読取専用 

ユーザーエージェントが自動で制御されているかどうかを示します。

`Navigator.windowControlsOverlay` (en-US) 読取専用 

デスクトッププログレッシブウェブアプリケーションにおけるタイトルバーのジオメトリーに関する情報と、それが変更されるたびに知るためのイベントを公開する `WindowControlsOverlay` (en-US) インターフェイスを返します。

`Navigator.xr` 読取専用  
Experimental

`XRSystem` オブジェクトを返します。これは WebXR API (en-US) のエントリーポイントを表します。

### 標準外のプロパティ

`Navigator.buildID` 
Non-standard

ブラウザーのビルド識別子を返します。最近のブラウザーでは、このプロパティはプライバシーの目的で、固定のタイムスタンプを返すようになり、例えば Firefox 64 系列では `20181001000000` となります。

`Navigator.contacts` 読取専用  
Experimental

`ContactsManager` インターフェイスを返します。ユーザーが連絡先リストから項目を選択し、選択した項目の限られた詳細情報をウェブサイトやアプリケーションと共有することができます。

`Navigator.globalPrivacyControl` 
Non-standard

Experimental

ユーザーの情報が共有または販売されることへの同意を示す論理値を返します。

`Navigator.securitypolicy` 
Non-standard

空文字列を返します。 Netscape 4.7x では "US & CA domestic policy" または "Export policy" を返していました。

`Navigator.standalone` 
Non-standard

ブラウザーをスタンドアロンモードで実行しているかを示す論理値を返します。 Apple の iOS Safari だけで使用できます。

`Navigator.wakeLock` 読取専用 

`WakeLock` インターフェイスを返します。これは、画面のウェイクロックを要求したり、画面の減光、消灯、スクリーンセーバーの表示を防止したりするために利用できます。

### 非推奨のプロパティ

`Navigator.appCodeName` 読取専用  
非推奨

どのブラウザーでも `'Mozilla'` を返します。

`Navigator.appName` 読取専用  
非推奨

どのブラウザーでも `'Netscape'` を返します。

`Navigator.appVersion` 読取専用  
非推奨

ブラウザーのバージョンを文字列で返します。このプロパティが正確な値を返すことを期待しないで下さい。

`Navigator.activeVRDisplays` 読取専用  
非推奨

Non-standard

現在表示中である（`VRDisplay.ispresenting` が `true` である）、すべての `VRDisplay` オブジェクトを収めた配列を返します。

`Navigator.doNotTrack` 読取専用  
非推奨

ユーザーの do-not-track 設定の値を返します。この値が "yes" であるとき、ウェブサイトやアプリケーションはユーザーを追跡するべきではありません。

`Navigator.mimeTypes` (en-US) 読取専用  
非推奨

ブラウザーが対応している MIME タイプの一覧を `MimeTypeArray` (en-US) で返します。

`Navigator.oscpu` 読取専用  
非推奨

現在の OS を表す文字列を返します。

`Navigator.platform` 読取専用  
非推奨

現在のブラウザーのプラットフォームを表す文字列を返します。このプロパティが正確な値を返すことを期待しないで下さい。

`Navigator.plugins` (en-US) 読取専用  
非推奨

`PluginArray` を返します。これはブラウザーにインストールされているプラグインを列挙します。

`Navigator.product` 読取専用  
非推奨

どのブラウザーも、常に `'Gecko'` を返します。

`Navigator.productSub` 読取専用  
非推奨

`'20030107'` または `'"20100101'` の文字列のどちらかを返します。

`Navigator.vendor` 読取専用  
非推奨

空文字列、`'Apple Computer Inc.'`、`'Google Inc.'` のいずれかを返します。

`Navigator.vendorSub` 読取専用  
非推奨

常に空文字列を返します。

インスタンスメソッド
----------

*継承するメソッドはありません。*

`Navigator.canShare()`

`Navigator.share()` の呼び出しが成功した場合は `true` を返します。

`Navigator.clearAppBadge()`

現在のアプリのバッジを消去し、 `undefined` に解決する `Promise` を返します。

`Navigator.getAutoplayPolicy()` (en-US) 
Experimental

指定したメディア要素、音声コンテキスト、またはメディア機能の "type" が自動再生を許可されているかどうかを示す値を返します。

`Navigator.getBattery()`

`BatteryManager` (en-US) オブジェクトで解決するプロミスを返します。このオブジェクトはバッテリーの充電状態についての情報を返します。

`Navigator.getInstalledRelatedApps()` (en-US) 
Experimental

ユーザーがインストールしている、関連するネイティブまたはプログレッシブウェブアプリを表すオブジェクトの配列で解決するプロミスを返します。

`Navigator.registerProtocolHandler()`

自分自身のサイトに URL などのプロトコルに関連づけたハンドラーを可能な限り登録します。

`Navigator.unregisterProtocolHandler()` (en-US)

指定されたプロトコルのハンドラーであるウェブサイトの登録を解除します。

`Navigator.requestMediaKeySystemAccess()` (en-US)

MediaKeySystemAccess オブジェクト用の `Promise` を返します。

`Navigator.requestMIDIAccess()`

ユーザーのシステムにおいて MIDI 機器にアクセスするリクエストを表す `Promise` を返します。

`Navigator.sendBeacon()`

ユーザーエージェントからウェブサーバーへ、HTTP を使用して少量のデータを非同期に転送するために使用します。

`Navigator.setAppBadge()`

このアプリに関連付けられたアイコンにバッジを設定し、 `undefined` で解決する `Promise` を返します。

`Navigator.share()`

現在のプラットフォームのネイティブ共有メカニズムを実行します。

`Navigator.vibrate()`

バイブレーションに対応している場合、端末にバイブレーションを起こします。対応していない場合は、何もしません。

### 非推奨のメソッド

`Navigator.getVRDisplays()` 
非推奨

Non-standard

コンピューターに接続されて使用可能な VR 機器を表す `VRDisplay` の配列に解決されるプロミスを返します。

`Navigator.getUserMedia()` 
非推奨

ユーザーにプロンプトで許可を取った後に、ローカルコンピューターのマイクやカメラからの音声または動画ストリームを返します。

`Navigator.taintEnabled()` 
非推奨

`false` を返します。 JavaScript の taint/untaint 関数は JavaScript 1.2 で削除されました。

`Navigator.javaEnabled()` 
非推奨

常に false を返します。

仕様書
---

| Specification |
| --- |
| HTML Standard # the-navigator-object |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.