Browscap.ini ファイル

Browscap.ini ファイルでは、ブラウザのプロパティ定義をいくつでも宣言することができます。また、クライアントのブラウザが列挙されている定義の中にない場合に、デフォルト値を設定することもできます。

各ブラウザ定義では、HTTP の User Agent ヘッダーを指定し、そのヘッダーに関連付けるプロパティや値をそれぞれ指定します。HTTP User Agent ヘッダーの形式の詳細については、http://www.w3.org/ で公開されている HTTP の仕様書を参照してください。

構文

[; comments]

[HTTPUserAgentHeader]

[parent = browserDefinition]

[property1 = value1]

*

[propertyN = valueN]

[Default Browser Capability Settings]

[defaultProperty1 = defaultValue1]

*

[defaultPropertyN = defaultValueN]

パラメータ

comments

セミコロン (;) で始まる行はすべてコメントになります。Browser Capabilities コンポーネントはコメントを無視します。コメントは Browscap.ini ファイルのどこにでも記述できます。

HTTPUserAgentHeader

propertyN で指定されたブラウザプロパティ値ステートメントに関連付ける HTTP User Agent ヘッダーを指定します。Browscap.ini ファイルにはブラウザ定義を複数指定することもできますが、各定義はそれぞれ一意な HTTPUserAgentHeader で始まります。

HTTPUserAgentHeader では、0 文字以上の文字列を示すワイルドカードとしてアスタリスク (*) 文字が使えます。

たとえば、HTTPUserAgentHeader に次の文字列を指定したとします。

[Mozilla/2.0 (compatible; MSIE 3.0;* Windows 95)]
 

この文字列は次に示す User Agent ヘッダーにすべてマッチします。

[Mozilla/2.0 (compatible; MSIE 3.0; Windows 95)]
[Mozilla/2.0 (compatible; MSIE 3.0; AK; Windows 95)]
[Mozilla/2.0 (compatible; MSIE 3.0; SK; Windows 95)]
[Mozilla/2.0 (compatible; MSIE 3.0; AOL; Windows 95)]
 

注意 Browser Capabilities コンポーネントは、最初に HTTPUserAgentHeader の値とまったく同じ User Agent ヘッダーを探し、見つからなければワイルドカード文字によってマッチするものを見つけます。

ワイルドカード文字のある複数のブラウザ定義が同じ User Agent ヘッダーにマッチした場合には、Browser Capabilities コンポーネントは最初にマッチしたブラウザ定義のプロパティを返します。

browserDefinition

親ブラウザとして使用するブラウザの HTTP User Agent 文字列を指定する省略可能なパラメータです。現在使用しているブラウザの定義は、親ブラウザの定義の中で宣言されているプロパティ値をすべて継承します。通常、ブラウザのバージョンが新しくなった場合でも、以前のバージョンのプロパティの大部分はそのまま引き継がれるため、ブラウザのバージョン アップの際のプロパティ定義が簡単になります。また、propertyN = valueN の構文を使ってプロパティに明示的に新しい値を設定することで、継承されたプロパティ値を上書きすることもできます。

propertyN

設定するブラウザ プロパティの名前を指定する省略可能なパラメータです。必ず英文字で始まり、255 文字未満で指定します。Browscap.ini ファイル内の各ブラウザ定義には、必要なだけのプロパティ値のステートメントを記述できます。たとえば、アプリケーションでユーザーのブラウザが VBScript をサポートしているかどうかだけを知る必要がある場合は、各ブラウザ定義について 1 つのプロパティ ステートメントだけが必要になります。

設定可能なプロパティの例を次の表に示します。

プロパティ

説明

ActiveXControls

ブラウザが ActiveX(TM) コントロールをサポートしているかどうかを示します。

backgroundsounds

ブラウザがバックグラウンド サウンドをサポートしているかどうかを示します。

beta

ブラウザがベータ版のソフトウェアかどうかを示します。

browser

ブラウザの名前を示します。

cookies

ブラウザが cookies をサポートしているかどうかを示します。

frames

ブラウザがフレームをサポートしているかどうかを示します。

javascript

ブラウザが JScript(TM) をサポートしているかどうかを示します。

platform

ブラウザが動作するプラットフォームを示します。

tables

ブラウザが表をサポートしているかどうかを示します。

vbscript

ブラウザが VBScript をサポートしているかどうかを示します。

version

ブラウザのバージョン番号を示します。

valueN

propertyN の値を指定する省略可能なパラメータです。デフォルトではこの値は文字列です。整数を指定するには値の前にシャープ記号 (#) を付けます。論理値を指定するには TRUE または FALSE を使います。

defaultPropertyN

ブラウザ プロパティの名前を指定する省略可能なパラメータです。このブラウザ プロパティには、ブラウザから送信された HTTP User Agent ヘッダーが定義されているどの HTTPUserAgentHeader の値にもマッチしない場合に、デフォルト値が割り当てられます。

defaultValueN

defaultPropertyN の値を指定する省略可能なパラメータです。デフォルトではこの値は文字列です。整数を指定するには値の前にシャープ記号 (#) を付けます。論理値を指定するには TRUE または FALSE を使います。

次の例では、親タグによって 1 番目のブラウザ定義から 2 番目のブラウザ定義に定義が継承されます。これにより、Microsoft(R) Internet Explorer 3.01 の定義は、Microsoft(R) Internet Explorer 3.0 のすべてのプロパティ定義を継承します (frames=TRUE tables=TRUE、および cookies=TRUE)。また、platform=Win95 の行によってプラットフォーム固有の情報が追加され、version=3.01 の行によってバージョン情報が上書きされます。

;;ie 3.0
[IE 3.0]
browser=IE
Version=3.0
majorver=#3
minorver=#0
frames=TRUE
tables=TRUE
cookies=TRUE
backgroundsounds=TRUE
vbscript=TRUE
javascript=TRUE
ActiveXControls=TRUE
Win16=False
beta=False
AK=False
SK=False
AOL=False
 
;;ie 3.01
[Mozilla/2.0 (compatible; MSIE 3.01*; Windows 95)]
parent=IE 3.0
version=3.01
minorver=01
platform=Win95
 
; Default Browser 
[Default Browser Capability Settings]
browser=Default
frames=FALSE 
tables=TRUE
cookies=FALSE
backgroundsounds=FALSE
vbscript=FALSE
javascript=FALSE

(C) Microsoft Corporation. All rights reserved.