Navigator インターフェイスは、ユーザーエージェントの状態や身元情報を表します。スクリプトからその情報を問い合わる、および活動を続けるためにそれら自体を登録することができます。

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

プロパティ

継承するプロパティはありませんが、NavigatorIDNavigatorLanguageNavigatorOnLineNavigatorContentUtilsNavigatorStorageNavigatorStorageUtilsNavigatorConcurrentHardwareNavigatorPluginsNavigatorUserMedia で定義されているプロパティを実装します。

標準プロパティ

Navigator.activeVRDisplays 読取専用
現在表示中 (VRDisplay.ispresentingtrue) である、すべての VRDisplay オブジェクトを収めた配列を返します。
NavigatorID.appCodeName 読取専用
現在のブラウザーの内部のコードネームを返します。このプロパティが正確な値を返すことを期待しないで下さい。
NavigatorID.appName 読取専用
このブラウザーの公式な名前の DOMString を返します。このプロパティが正確な値を返すことを期待しないで下さい。
NavigatorID.appVersion 読取専用
ブラウザーのバージョンを DOMString で返します。このプロパティが正確な値を返すことを期待しないで下さい。
Navigator.battery 読取専用
バッテリー残量などの情報を取得できる BatteryManager オブジェクトを返します。
Navigator.connection 読取専用
デバイスのネットワーク状態の情報を提供する NetworkInformation オブジェクトを返します。
Navigator.cookieEnabled 読取専用
cookie へのセットが無視される場合 false、それ以外は true を返します。
Navigator.geolocation 読取専用
デバイスの物理的な場所を取得することができる Geolocation オブジェクトを返します。
NavigatorConcurrentHardware.hardwareConcurrency 読取専用
使用可能な論理プロセッサーコアの数を返します。
NavigatorPlugins.javaEnabled 読取専用
このブラウザーで Java が利用できるかどうかを Boolean で返します。
NavigatorLanguage.language 読取専用
ユーザーにとって一番望ましい言語 (たいていはブラウザー UI の言語) の DOMString を返します。不明な場合には null を返します。
NavigatorLanguage.languages 読取専用
ユーザーが知っている言語を表す DOMString を、望ましい順に並べた配列を返します。
Navigator.locks 読取専用
新しい Lock オブジェクトを要求したり、既存の <code>Lock</code> オブジェクトをクエリしたりするための LockManager オブジェクトを返します。
Navigator.mediaCapabilities 読取専用
指定された形式のデコードおよびエンコード能力、それに出力能力についての情報が得られる MediaCapabilities オブジェクトを返します
NavigatorPlugins.mimeTypes 読取専用
ブラウザーが対応している MIME タイプのリストを MimeTypeArray で返します。
NavigatorOnLine.onLine 読取専用
現在のブラウザーがオンラインかどうかを示す Boolean を返します。
Navigator.oscpu
現在の OS を表す文字列を返します。
Navigator.permissions 読取専用
Permissions API が対応する API の許可状態の問い合わせや更新に使用できる、Permissions オブジェクトを返します。
NavigatorID.platform 読取専用
現在のブラウザーのプラットフォームを表す文字列を返します。このプロパティが正確な値を返すことを期待しないで下さい。
NavigatorPlugins.plugins 読取専用
現在のブラウザーにインストールされている配列の PluginArray を返します。
NavigatorID.product 読取専用
どのブラウザーも、常に 'Gecko' を返します。このプロパティは、互換性のために限って維持されています。
Navigator.serviceWorker 読取専用
ServiceWorkerContainer オブジェクトを返します。これは、associated documentServiceWorker オブジェクトの登録、削除、更新、通信の機能を提供します。
NavigatorStorage.storage 読取専用
サイトごとまたはアプリごとに持続的な記憶域の許可の管理や使用可能な記憶域の試算に使用する、シングルトン StorageManager オブジェクトを返します。
NavigatorID.userAgent 読取専用
現在のブラウザーのユーザーエージェントを表す文字列を返します。

標準外プロパティ

Firefox OS デバイスには、さらに多くの標準外プロパティがあります。Firefox OS Navigator 拡張の記事 で、それらを確認できます。

Navigator.buildID
ブラウザーのビルド識別子を返します (例, "2006090803")。
Navigator.credentials
ログインやログアウトの成功といったイベントが発生したときに資格情報を要求してユーザーエージェントへ通知する手段を提供する、CredentialsContainer インターフェイスを返します。
Navigator.deviceMemory 読取専用
端末のメモリーをギガバイト単位で返します。この値は 2 の階乗の最も近い値を 1024 で割った概算値です。
Navigator.doNotTrack
ユーザーの do-not-track 設定の値を返します。この値が "yes" であるとき、ウェブサイトやアプリケーションはユーザーを追跡するべきではありません。
Navigator.mediaDevices
使用可能なメディアデバイスの情報を取得する (MediaDevices.enumerateDevices())、ユーザーのコンピューターやユーザーエージェントで、メディアのどのような特性を制限できるかを確認する (MediaDevices.getSupportedConstraints())、MediaDevices.getUserMedia() を使用してメディアへのアクセスを要求するといったことができる、MediaDevices オブジェクトへの参照を返します。
Navigator.mozNotification 非推奨 Gecko 22
Navigator.webkitNotification
ウェブアプリからユーザーへ通知を送るために使用できる、notification オブジェクトを返します。
Navigator.mozSocial
navigator.mozSocial プロパティが返すオブジェクトは、ソーシャルメディアプロバイダーのパネル内で、それらが必要とする機能を提供するために使用できます。
Navigator.presentation
Presentation API への参照を返します。
Navigator.productSub
ブラウザーのビルド番号を返します (例, "20060909")。
Navigator.securitypolicy
空文字列を返します。Netscape 4.7x では "US & CA domestic policy" または "Export policy" を返していました。
Navigator.standalone
ブラウザーをスタンドアロンモードで実行しているかを示す boolean を返します。Apple の iOS Safari だけで使用できます。
Navigator.storageQuota 読取専用
記憶域の使用量やクォータ情報の問い合わせや要求の手段を提供する、StorageQuota インターフェイスを返します。
Navigator.vendor
現在のブラウザのベンダーネームを返します (例 "Netscape6")。
Navigator.vendorSub
vendor version number を返します (例 "6.1").
Navigator.webkitPointer
Mouse Lock API の PointerLock オブジェクトを返します。

メソッド

継承するメソッドはありませんが、NavigatorIDNavigatorContentUtilsNavigatorUserMediaNavigatorStorageUtils で定義されているメソッドを継承します。

標準メソッド

Navigator.getVRDisplays()
コンピューターに接続されて使用可能な VR デバイスを表す VRDisplay の配列に解決される promise を返します。
Navigator.getUserMedia()
ユーザーにプロンプトで許可を取った後に、ローカルコンピューターのマイクやカメラからの audio または video ストリームを返します。
Navigator.registerContentHandler() Gecko 59 で廃止
ウェブサイトが自分自身を、ある MIME タイプのハンドラーとして登録できるようにします。
Navigator.registerProtocolHandler()
自分自身のサイトに URL などのプロトコルに関連づけたハンドラーを可能な限り登録します。
Navigator.requestMediaKeySystemAccess()
MediaKeySystemAccess オブジェクト用の Promise を返します。
Navigator.sendBeacon()
ユーザーエージェントからウェブサーバーへ、HTTP を使用して少量のデータを非同期に転送するために使用します。
Navigator.share()
現在のプラットフォームのネイティブ共有メカニズムを実行します。
NavigatorID.taintEnabled() 非推奨 Gecko 1.7.8 Gecko 9.0 で廃止
false を返します。JavaScript の taint/untaint 関数は JavaScript 1.2 で削除されました。
Navigator.vibrate()
バイブレーションがサポートされている場合、デバイスにバイブレーションを起こします。サポートされていない場合、何もしません。

標準外メソッド

Firefox OS デバイスには、さらに多くの標準外メソッドがあります。Firefox OS Navigator 拡張の記事 で、それらを確認できます。

Navigator.mozIsLocallyAvailable()
指定した URL のドキュメントが、ネットワーク接続がない状態で使用できるかを確認できます。
Navigator.mozPay()
アプリ内で支払いができるようにします。

ブラウザーの対応

機能ChromeEdgeFirefoxInternet ExplorerOperaSafari
基本対応 あり あり あり あり あり あり
activeVRDisplays なし1 あり553 なし なし なし
authentication674 なし なし なし ? なし
battery38 ?

16 — 506 7

11 — 16 moz

10 — 168

なし なし なし
buildID ? ?2 ? ? ?
clipboard66 ?63 ? ? ?
connection61 ? ? なし ? なし
cookieEnabled59 あり110 あり あり あり
credentials51 ? ? ? ? ?
deviceMemory63 ? ? ?50 ?
doNotTrack23 なし119129 — 11 ms 13125.1 — 714
geolocation5 あり3.59

16

10.6 — 15

5
getBattery39 ?43 — 5215 なし25 なし
getGamepads

35

21 -webkit-

あり29 なし

22

15 -webkit-

なし
getUserMedia21 webkit 16 あり17 moz 17 なし

18 webkit

1218

なし
getVRDisplays なし1 あり5519 なし なし なし
locks69 ? ? ?56 ?
maxTouchPoints35 ?

59

2920

11

10 ms

? なし
mediaCapabilities66 なし63 なし55 なし
mediaDevices51 あり36 あり なし なし
mediaSession なし ? ? ? なし ?
mozIsLocallyAvailable なし なし あり — 35 なし なし なし
oscpu なし ? あり ? ? ?
permissions43 ?46 ? ? ?
presentation あり ? なし ? ? ?
productSub あり22 ? あり あり23 ? あり22
registerContentHandler ? ?2 — 62 ? ? ?
registerProtocolHandler1324 ?3 ?11.6 ?
requestMediaKeySystemAccess4225 26 あり あり27 28 29 ?2925 30 ?
sendBeacon3932 あり31 なし263311.1
serviceWorker40

17

1634

4435 なし2711.1
share なし ? なし なし なし なし
vendorSub あり ? あり あり15 あり
vibrate32 ?

1638 39

11 moz

なし なし なし
機能Android webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
基本対応 あり あり あり あり あり あり あり
activeVRDisplays あり あり2 なし55 なし なし ?
authentication675674 なし なし ? なし なし
battery ?38 ?

16 — 506 7

14 — 16 moz

10 — 168

なし なし ?
buildID ? ? ? あり ? ? ?
clipboard6666 ?63 ? ? ?
connection5038 ?14937 なし ?
cookieEnabled5959 あり410 あり あり ?
credentials5151 ? ? ? ? ?
deviceMemory6363 ? ?50 ? ?
doNotTrack あり あり なし11912 ? ? ?
geolocation あり あり あり410.6 あり ?
getBattery4042 ?43 — 521525 なし ?
getGamepads

35

21 -webkit-

42 あり なし なし なし ?
getUserMedia40 webkit 18 なし あり24 moz 171218 なし なし
getVRDisplays あり あり2 なし55 なし なし ?
locks6969 ? ?56 ? ?
maxTouchPoints3535 ?2920 21 ? なし ?
mediaCapabilities6666 なし6355 なし ?
mediaDevices5151 あり36 なし なし ?
mediaSession なし57 ? ? なし ? ?
mozIsLocallyAvailable なし なし なし あり — 35 なし なし なし
oscpu なし なし ? あり ? ? ?
permissions4343 ?46 ? ? ?
presentation あり あり ? なし ? ? ?
productSub ? あり22 ? あり ? あり22 ?
registerContentHandler ? ? ? ? ? ? ?
registerProtocolHandler ? ? ?4 ? なし ?
requestMediaKeySystemAccess4325 314225 26 あり あり27 28 292925 30 ? ?
sendBeacon40324232 あり312933 なし ?
serviceWorker4040 ?442711.1 ?
share6161 ? なし48 なし ?
vendorSub あり あり ? あり15 あり ?
vibrate3241 423236 37 ?

1638 39

14 moz

あり40 なし ?

1. Available on all platforms behind a flag, but currently only works on desktop in an experimental version of Chrome (other builds won't return any devices when Navigator.getVRDisplays() is invoked).

2. Currently supported only by Google Daydream.

3. Currently only Windows support is enabled by default. Mac support is available in Firefox Nightly.

4. From version 67: this feature is behind the WebAuth preference. To change preferences in Chrome, visit chrome://flags.

5. From version 67: this feature is behind the WebAuth preference.

6. Removed in favor of navigator.getBattery().

7. The Battery API was supported on Android, Windows, and Linux with UPower installed. Support for macOS was available starting with Firefox 18.

8. From version 10 until version 16 (exclusive): this feature is behind the dom.battery.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.

9. The Network API is enabled by default. Can be disabled using the dom.netinfo.enabled preference.

10. Prior to Firefox 8, navigator.cookieEnabled would report the wrong result if a site exception was in place for the page on which the check was performed. This has been fixed.

11. Use window.doNotTrack instead.

12. Prior to Firefox 32, navigator.doNotTrack would report values of yes and no rather than 1 and 0.

13. For IE11 and subsequent versions, use window.doNotTrack

14. Safari 7.1.3+ uses window.doNotTrack rather than navigator.doNotTrack.

15. From Firefox 52 onwards, the Battery Status API is only available in chrome/privileged code.

16. Later versions of Chrome support the unprefixed MediaDevices.getUserMedia() which replaced this deprecated method.

17. The constraint syntax described here is available as of Firefox 38. Earlier versions (32-37) used an outdated constraint syntax, but the syntax described here is available there through the adapter.js polyfill.

18. An outdated constraint syntax is still in use, but the syntax described here is available through the adapter.js polyfill.

19. Currently only Windows support is enabled by default. Mac support is available in Firefox Nightly.

20. From version 29: this feature is behind the dom.w3c_pointer_events.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.

21. See bug 1426786.

22. Always returns 20030107.

23. Always returns undefined.

24. Protocol whitelist includes mailto, mms, nntp, rtsp, and webcal. Custom protocols must be prefixed with web+.

25. The spec requires that the passed supportedConfigurations option contain at least one of audioCapabilities or videoCapabilities, and that said parameters include a codec string.

26. The function does not exist in insecure contexts. This was not enforced until Chrome 58.

27. Starting in Firefox 55, if neither audioCapabilities nor videoCapabilities is specified in supportedConfigurations, a warning is output to the web console.

28. In addition, starting in Firefox 55, if in supportedConfigurations, either audioCapabilities's or videoCapabilities's contentType value doesn't specify a "codecs" substring to define allowed codecs within the media wrapper, a warning is output to the web console. See note below table for example and correction.

29. In the future, if neither audioCapabilities nor videoCapabilities is specified in the supportedConfigurations, a NotSupported exception will be thrown.

30. The function does not exist in insecure contexts. This was not enforced until Opera 45.

31. The function does not exist in insecure contexts. This was not enforced until version 58.

32. Starting in Chrome 59, this method cannot send a Blob whose type is not CORS safelisted. This is a temporary change until a mitigation can be found for the security issues that this creates. For more information see Chrome bug 720283.

33. Starting in Opera 46, this method cannot send a Blob whose type is not CORS safelisted. This is a temporary change until a mitigation can be found for the security issues that this creates. For more information see Chrome bug 720283.

34. From version 16: this feature is behind the Enable service workers preference.

35. Service workers (and Push) have been disabled in the Firefox 45 and 52 Extended Support Releases (ESR).

36. Beginning in Chrome 55, this is not supported in cross-origin iframes.

37. Beginning in Chrome 60, this method requires a user gesture. Otherwise it returns false.

38. Until Firefox 26 included, when the vibration pattern was too long or any of its elements too large, Firefox threw an exception instead of returning false (bug 884935).

39. From Firefox 32 onwards, when the vibration pattern is too long or any of its elements too large, it returns true but truncates the pattern (bug 1014581).

40. Beginning in Opera 47, this method requires a user gesture. Otherwise it returns false.

41. Beginning in version 55, this is not supported in cross-origin iframes.

42. Beginning in version 60, this method requires a user gesture. Otherwise it returns false.

ドキュメントのタグと貢献者

このページの貢献者: mfuji09, hamasaki, Uemmra3, yyss, lv7777, fscholz
最終更新者: mfuji09,