JavaScript Navigator

サマリー: このチュートリアルでは、JavaScript Navigatorオブジェクトとそのプロパティについて学習します。

JavaScript Navigatorオブジェクトの紹介

JavaScript Navigatorは、Webブラウザとその機能に関する情報を提供します。読み取り専用プロパティwindow.navigatorからNavigatorオブジェクトを参照できます。

Navigatorオブジェクトには、ブラウザの情報を伝えるプロパティがあります。たとえば、userAgentwindow.navigatorオブジェクトのプロパティです。Webブラウザを識別する長い文字列です。

window.navigator.userAgent
Code language: CSS (css)

Google Chromeでは、次のような出力を表示できます

"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.117 Safari/537.36"
Code language: JSON / JSON with Comments (json)

Google Chromeのバージョンによって、userAgentが少し異なる場合があります。

異なるWebブラウザは、標準化されていない特定の機能を提供しています。一部のWebブラウザではユーザーがuserAgentを変更して別のブラウザを使用しているように見せかけることができるため、userAgentを使用してWebブラウザを識別しない方がよいでしょう。

たとえば、次のコードを使用して、現在のWebブラウザがInternet Explorerかどうかを検出できます

if(navigator.userAgent.includes('MSIE')) {
    // IE, use specific features of IE
} else {
    // not IE
}
Code language: JavaScript (javascript)

Webブラウザの特定の機能を使用するには、機能検出を使用できます。たとえば

if( typeof window.addEventListener === 'function' ) {
    // let's use addEventListener
} else {
    // addEventListener is not supported, use another way
}
Code language: JavaScript (javascript)

javascript navigatorプロパティとメソッド

次の表は、JavaScriptのNavigatorプロパティとメソッドを示しています

プロパティ/メソッド説明
activeVrDisplayspresentingプロパティがtrueに設定されたすべてのVRDisplayインスタンスの配列を返します
appCodeNameMozilla以外のブラウザでも「Mozilla」を返します。
appNameブラウザの完全な名前を返します。
appVersionブラウザのバージョンを返します。ただし、通常はブラウザの実際のバージョンとは一致しません。
batteryバッテリー状態APIと対話するためのBatteryManagerオブジェクトを返します
buildIdWebブラウザのビルド番号を返します。
connectionネットワーク情報APIと対話するためのNetworkInformationオブジェクトを返します
cookieEnabledクッキーが有効な場合はtrueを返し、有効でない場合はfalseを返します。
credentials資格情報管理APIと対話するためのCredentialsContainerを返します
deviceMemoryデバイスのメモリ容量をギガバイトで返します。
doNotTrackユーザーのDoNotTrackの好みを返します。
geolocationGeolocation APIと対話するためのGeolocationオブジェクトを返します。
getVRDisplays()VRDisplayインスタンスがある場合は、その配列を返します。
getUserMedia()利用可能なメディア機器ハードウェアに関連付けられたストリームを返します。
hardwareConcurrencyデバイスのプロセッサコアの数を返します
javaEnabledブラウザでJavaが有効かどうかを調べます。
languageブラウザのプライマリ言語を返します。
languagesブラウザのすべての優先言語の配列を返します。
locksWeb Locks API とインタラクトするための LockManager オブジェクトを返します。
mediaCapabilitiesMedia capabilities API とインタラクトするための MediaCapabilities オブジェクトを返します。
mediaDevices使用可能なメディアデバイスを返します。
maxTouchPointsデバイスのタッチスクリーンでサポートされる最大タッチポイント数を返します。
mimeTypesブラウザに登録されている MIME タイプの配列を返します。
onLineブラウザがインターネットに接続しているかどうかを指定します。
oscpuブラウザが実行されているオペレーティングシステム (OS) および/または CPU です。
permissionsPermissions API とインタラクトするための Permissions オブジェクトを返します。
platformブラウザが実行されているシステムプラットフォームを返します。
pluginsインストールされているブラウザのプラグインの配列を返します。
product製品の名前を返します。
productSub製品に関する追加情報を返します。
registerProtocolHandler()ウェブサイトを特定のプロトコルのハンドラーとして登録します。
requestMediaKeySystemAccess()MediaKeySystemAccess オブジェクトに解決される Promise を返します。
sendBeacon()小さなペイロードを非同期で送信します。
serviceWorkerServiceWorker オブジェクトとのインタラクトに使用される ServiceWorkerContainer を返します。
share()現在のプラットフォームのネイティブ共有メカニズムを呼び出します。
storageStorage API とインタラクトするための StorageManager オブジェクトを返します。
userAgentブラウザのユーザーエージェント文字列を表します。
vendorブラウザのブランド名を返します。
vendorSubブラウザのベンダーに関する追加情報を返します。
vibrate()振動がサポートされている場合、デバイスを振動させます。
webdriverブラウザが現在自動制御されているかどうかを判断します。

 

今回のチュートリアルはためになりましたか?