navigatorNN 2 IE 3 DOM なし

navigator オブジェクトは、多くの意味でブラウザアプリケーションを表しています。よって、ブラウザは DOM の対照範囲外になっています。ただし、navigator オブジェクトは、スクリプトを実行しているブラウザとそのバージョンを認識できるようにするため、スクリプトにおいて重要な役目を果たします。Navigator と Internet Explorer に共通するいくつかの主要プロパティに加え、それぞれのブラウザでこのオブジェクトのプロパティリストを充実させているため、他のブラウザにとっても利益となっています。IE では、このオブジェクトの機能が clientInformation という名前で実現されていますが、ブラウザ間の互換性保つため、すべてのブラウザで navigator オブジェクトへの参照を使用できます。

 
オブジェクト参照
 
  • navigator
  • [window.]navigator
 
オブジェクト固有のプロパティ
 
appCodeNameappMinorVersionappNameappVersion
browserLanguagecookieEnabledcpuClasslanguage
mimeTypes[]onLineoscpuplatform
plugins[]productproductSubsecurityPolicy
systemLanguageuserAgentuserLanguageuserProfile
vendorvendorSub
 
オブジェクト固有のメソッド
 
javaEnabled()preference()taintEnabled()
 
オブジェクト固有のイベントハンドラープロパティ

なし

appCodeNameNN 2 IE 3 DOM なし

読み取り専用

ブラウザのコード名を返します。Navigator と Internet Explorer の両方とも、Navigator の早期バージョンのコード名であった Mozilla を返します。Mozilla とは、Mosaic ブラウザ初期のフリーウェア名と Godzilla を組み合わせた名前です。Mozilla は、Netscape 社のマスコットキャラクタですが、IE を含め、Mosaic テクノロジーのライセンスを使用しているブラウザはすべて Mozilla を返します。

 
 
var codeName = navigator.appCodeName;
 

Mozilla

 
既定値

Mozilla

appMinorVersionNN なし IE 4 DOM なし

読み取り専用

Internet Explorer の後続バージョンでは、値の羅列を返しますが、通常のバージョン検出の目的で役に立つことはほとんどありません。Windows 版 IE 5.x の場合、appVersion4.0 の値を返し、appMinorVersion は小数点の 1 桁目を通知します。Windows 版 IE 6 では、;Q313675; のように、ビルド番号またはパッチコード番号を示す文字列を返します。使用にあたっては十分に注意してください。

 
 
var subVer = navigator.appMinorVersion;
 

文字列

 
既定値

ブラウザバージョンによって異なります。

appNameNN 2 IE 3 DOM なし

読み取り専用

ブラウザのモデル名を返します。

 
 
var isNav = navigator.appName == "Netscape";
 

文字列の値。NN の場合は "Netscape"、IE の場合は "Microsoft Internet Explorer" を返します。これ以外のブラウザでも、主要ブラウザと互換性があることを示すために、これらと同じ値を返すものがあります。

 
既定値

ブラウザによって異なります。

appVersionNN 2 IE 3 DOM なし

読み取り専用

ブラウザのバージョン番号と最小限の OS プラットフォーム情報 (userAgent によって返される情報のサブセット) を返します。戻り値の例は次のとおりです。

 

Internet Explorer:

4.0 (compatible; MSIE 6.0; Windows 98; Q312461)
4.0 (compatible; MSIE 5.0; Macintosh; I; PPC)
 

Navigator:

4.04 [en] (Win95; I)
5.0 (Macintosh; en-US)
 

値の先頭部分 (最初の空白スペースの部分まで) のバージョン番号は、実際のブラウザアプリケーションのバージョンではなく、ブラウザエンジンのバージョンを示している点に注意してください。このため、IE のバージョン 4 から 6 までの場合と、おそらく 6 以降の場合も、通知されるのはエンジンバージョンの 4.0 となり、Netscape 6 の場合には、エンジン世代と呼ばれる 5.0 の値が返されます。ブラウザアプリケーションのバージョン情報はこの他に、appVersionuserAgent、またはその他の navigator オブジェクトプロパティで得られます。ブラウザでサポートされている DOM や JavaScript の言語を調べるために行うバージョン判定では、appVersion の値の先頭の語は使用しないでください。バージョン 4 までのブラウザの場合、このプロパティで正確なバージョン情報を取得できますが、それ以降のバージョンではこの限りではありません。

 

このプロパティの値に Internet Explorer の正確なバージョンが示される場合 (MSIE X.XX など) もありますが、バージョンによっては一致しない場合があります。バージョン文字列のこの部分を調べるには、navigator.userAgent プロパティを使用する方が確実です。

 
 
var isVer4Min = parseInt(navigator.appVersion) >= 4;
 

文字列

 
既定値

ブラウザによって異なります。

browserLanguageNN なし IE 4 DOM なし

読み取り専用

ブラウザのデフォルト対象言語を示します。Navigator でこれに相当するのは、navigator.language プロパティです。

 
 
var browLangCode = navigator.browserLanguage;
 

大文字と小文字を区別しない文字列の言語コード

 
既定値

ブラウザの既定値

cookieEnabledNN 6 IE 4 DOM なし

読み取り専用

ブラウザが cookie データの読み取りおよび書き込みを許容しているかどうかを返します。

 
 
if (cookieEnabled) {
    setCookieData(data);
}
 

true または false のブール値

 
既定値

ブラウザ設定によって異なります。

cpuClassNN なし IE 4 DOM なし

読み取り専用

クライアントコンピュータの CPU の文字列参照を返します。一般的な Intel マイクロプロセッサ (Pentium クラス CPU および Windows エミュレータを実行している Macintosh を含む) は x86 を返し、PowerPC Macintosh は PPC を返します。この値は基本的なハードウェアクラスについてのみ知らせるものであり、OS や特定の CPU 速度やモデル番号を知らせるものではありません。

 
 
if (navigator.cpuClass == "PPC") {
    // statements specific to PowerPC clients
}
 

文字列

 
既定値

クライアントハードウェアによって異なります。

languageNN 4 IE なし DOM なし

読み取り専用

ブラウザバージョンの対象言語を示します。言語は ISO 639 言語コード (en-us など) で指定します。Internet Explorer は navigator.browserLanguage プロパティでこの情報を提供します。

 
 
var mainLang = navigator.language;
 

大文字と小文字を区別しない文字列の言語コード

 
既定値

ブラウザの既定値

mimeTypesNN 4 IE 5(Mac) DOM なし

読み取り専用

ブラウザにインストールされているプラグインでサポートされる mimeType オブジェクトの配列を返します。Windows 版 IE は構文の互換性を保つためにこのプロパティを提供していますが、戻り値は常に長さ 0 の配列です。mimeType オブジェクトを参照してください。

 
 
var videoPlugin = navigator.mimeTypes["video/mpeg"].enabledPlugin;
 

mimeType オブジェクトの配列

 
既定値

ブラウザの既定値

onLineNN なし IE 4 DOM なし

読み取り専用

ブラウザが Internet Explorer の [ファイル] メニューで、オンラインとオフラインのいずれに設定されているかを示します。オンラインモードで読み込む際、ページはライブサーバーアクションを実行することがありますが、オフラインモードの場合にはこれらのコールを使用しないでください。このブールプロパティを使用して、条件ステートメントを作成します。

 
 
if (navigator.onLine) {
    document.write("<applet ...>");
    ...
}
 

true または false のブール値

 
既定値

true

oscpuNN 6 IE なし DOM なし

読み取り専用

クライアントマシンの OS や CPU に関する情報を示す文字列を返します。値は、システムごとに大きく異なります。Windows クライアントは大きく非 NT 系と NT 系の 2 種類に分かれます。非 NT 系には、Windows 95、98、ME があり、oscpu の値はそれぞれ、Win95Win98Win 9x 4.90 になります。NT 系には Windows NT 4 (WinNT4.0) と Windows XP (Windows NT x.x) があります。Macintosh システムでは、CPU のタイプと、Mac OS X が搭載されているかどうかが通知されます (PPC、または PPC Mac OS X)。Unix システムは、OS と CPU のタイプを通知します。oscpu の値は、userAgent の値の一部でもあります。この情報のフォーマットは、Internet Explorer における同種のプロパティである cpuClass や、userAgent プロパティのフォーマットとは異なります。

 
 
if (navigator.oscpu.indexOf("Win") != -1) {
    document.write("You are running a Windows computer.");
}
 

文字列

 
既定値

システムにより異なります。

platformNN 4 IE 4 DOM なし

読み取り専用

OS 名またはブラウザのハードウェアプラットフォームを返します。Windows 95/NT の値は Win32、PowerPC CPU を搭載した Macintosh の値は MacPPC です。主要プラットフォームに関しては、これまでのテストで Navigator および Internet Explorer ではこの戻り値が返されることが確認されています。条件式でこのプロパティを使用してクライアントの基本機能を確認すると、ページがそのデバイス用に出力を最適化する助けになります。

 
 
if (navigator.platform == "Win32") {
   document.write("<link rel='stylesheet' type='text/css' href='css/stylePC.css'>");
}
 

文字列

 
既定値

システムにより異なります。

plugins[]NN 3 IE 5(Mac) DOM なし

読み取り専用

ブラウザで認識される plugin オブジェクトのコレクションを返します。これにより、ブラウザが特定の外部メディアタイプをサポートしているかどうかを簡単に判定できます。Windows 版 IE 4 以降にも実装されていますが、あくまでダミーのプレースホルダーとしての実装であり、戻り値は常に長さ 0 の配列です。mimeType オブジェクトと plugin オブジェクトを参照してください。

 
 
var plugInCount = navigator.plugins.length;
 

plugin オブジェクト配列参照

 
既定値

なし

product、productSubNN 6 IE なし DOM なし

読み取り専用

ブラウザのソフトウェアエンジン部分を示す文字列を返します。Netscape 6 の場合、product プロパティは Gecko を返し、productSub プロパティは開発ビルド番号を文字列で返します。

 
 
var prod = navigator.product;
 

文字列

 
既定値

ブラウザにより異なります。

securityPolicyNN 4 IE なし DOM なし

読み取り専用

Navigator 4 では、ブラウザの暗号化レベル、つまり、そのブラウザが準拠している国内または輸出向けの暗号化ポリシーを示す文字列を返します。米国の暗号輸出規制が緩和されたことに伴い、Netscape 6 ではすべてのバージョンにわたって 1 つの暗号化タイプが実装されています。Netscape 6 の場合、このプロパティは空の文字列を返します。

 

文字列

 
既定値

なし

systemLanguageNN なし IE 4 DOM なし

読み取り専用

OS によって使用されるデフォルト言語のコードを示します。複数言語のコンテンツがある場合には、このプロパティを使用して特定言語でコンテンツを挿入します。

 
 
if (navigator.systemLanguage == "nl") {
// document.write() some Dutch content
}
 

大文字と小文字を区別しない言語コード

 
既定値

通常ブラウザの既定値 (米国で使用されている英語版 Internet Explorer では en)

userAgentNN 2 IE 3 DOM なし

読み取り専用

バージョン、OS プラットフォーム、ブランドを含むブラウザソフトウェアに関する情報を示します。appVersion プロパティおよび appName プロパティはサブセットデータであるのに対し、これはブラウザに関する最も包括的な情報です。userAgent プロパティの一般的なデータは、IE および Navigator で次のように表示されます。

Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; Q312461)
Mozilla/5.0 (Macintosh; U; PPC; en-US; rv:0.9.4) Gecko/20011022 Netscape6/6.2
 

このデータの長さや位置はクライアント側のブラウザ、バージョン、プロキシサーバーによって異なることがあるため、これに依存しないでください。代わりに、indexOf() メソッドを使用して特定の文字列の存在を確認します。IE の実際のアプリケーションバージョン番号のみを取得するには、次の関数を使用します。

function readIEVersion( ) {
    var ua = navigator.userAgent;
    var IEOffset = ua.indexOf("MSIE ");
    return parseFloat(ua.substring(IEOffset + 5, ua.indexOf(";", IEOffset)));
}
 
 
if (navigator.userAgent.indexOf("MSIE") != -1) {
    var isIE = true;
}
 

文字列

 
既定値

ブラウザにより異なります。

userLanguageNN なし IE 4 DOM なし

読み取り専用

OS のシステムユーザープロファイル設定がある場合には、それに基づいたブラウザのデフォルト言語。プロパティの既定値は browserLanguage プロパティです。

 
 
var userLangCode = navigator.userLanguage;
 

大文字と小文字を区別しない文字列の言語コード

 
既定値

ブラウザの既定値

userProfileNN なし IE 4 DOM なし

読み取り専用

userProfile プロパティは、Internet Explorer 4 の Win32 バージョンでビジターのユーザープロファイルにある個人情報へのアクセス許可をスクリプトに要求させるオブジェクトです。userProfile オブジェクトを参照してください。

 
 
navigator.userProfile.addReadRequest("vcard.displayname");
navigator.userProfile.doReadRequest("3", "MegaCorp Customer Service");
var custName = navigator.userProfile.getAttribute("vcard.displayname");
navigator.userProfile.clearRequest();
if (custName) {
    ...
}
 

userProfile オブジェクトへの参照

 
既定値

ブラウザの既定値

vendor、vendorSubNN 6 IE なし DOM なし

読み取り専用

Mozilla エンジンを搭載したブラウザ製品を識別する文字列を返します。Netscape 6 では、vendor プロパティで Netscape6 の値が返されますが、Netscape 7 では単に Netscape が返されます。vendorSub プロパティは、バージョンリリースの情報を詳細な文字列形式で返します。最低バージョンのテストを実施する場合は、最低要件との比較を行う前に、navigator.vendorSub の値を 10 進数の浮動小数点数に変換してください。

 
 
if (parseFloat(navigator.vendorSub, 10) >= 6.2) {
    // OK, meets minimum NN requirement
}
 

文字列

 
既定値

ブラウザにより異なります。

javaEnabled()NN 3 IE 4 DOM なし

ブラウザで Java が有効になっているかどうかを返します。このメソッドはスクリプトに対応していないブラウザ (または、スクリプト対応であってもこのプロパティをサポートしていないブラウザ) では機能しません。スクリプトに対応しているブラウザであれば、ブラウザの環境設定で Java が無効に設定されているかどうかを通知します。

 
パラメータ

なし

 
戻り値

true または false のブール値

preference()NN 4 IE なし DOM なし

preference(name[, value])

Navigator 4 における符号付きスクリプトを使用して、広範囲に及ぶユーザー環境設定にアクセスできます。これには、ユーザーがイメージをダウンロードするように選択しているか、スタイルシートが有効になっているかなどの詳細な情報も含まれます。これらの設定のほとんどは、企業全体において Navigator を実装する際にそのインストールやユーザー設定の制御を行うため、ネットワーク管理者によって使用されるスクリプト用に用意されています。これらの環境設定に関しては、Netscape 開発者 Web サイト (http://developer.netscape.com/docs/manuals/communicator/preferences/) を参照してください。Netscape 6 でこのメソッドを呼び出すと、署名付きスクリプトの場合であってもセキュリティ例外が発生しますが、Netscape 7 では、このメソッドは署名付きスクリプトで機能します。

 
パラメータ
 
  • general.always_load_images のような、文字列での環境設定名
  • 名前の付いた環境設定を設定する省略可能な値
 
戻り値

さまざまなデータタイプでの環境設定値

taintEnabled()NN 3 IE 4 DOM なし

ブラウザでデータ破損が有効になっているかどうかを返します。このセキュリティメカニズムは Navigator に完全に実装されることはありませんでしたが、データ破損を調べるメソッドは以前のブラウザとの互換性を保つため Navigator の新しいバージョンに含まれています。互換性を保つ目的で Internet Explorer にも含まれていますが、常に false を返します。

 
パラメータ

なし

 
戻り値

true または false のブール値