ブラウザー定義ファイルのスキーマ (browsers 要素)

[このドキュメントはプレビューのみを目的としており、以降のリリースで変更される可能性があります。プレースホルダーとして空白のトピックが含まれています。]

ブラウザー定義ファイルには、各ブラウザーの定義が含まれています。 実行時に、ASP.NET は、要求ヘッダーの情報を使用して、どのタイプのブラウザーが要求を行ったのかを判断します。 次に、ASP.NET は .browser ファイルを使用して、ブラウザーの機能を判断します。 ASP.NET のコントロール アダプターは、この情報を使用して、デバイスの種類に合わせて ASP.NET Web サーバー コントロールの動作を調整します。 たとえば、サーバー コントロールは、Internet Explorer などのグラフィカルなブラウザー用に、モバイル デバイス用とは異なる HTML を生成することがあります。

注意

ブラウザー定義ファイルは、.NET Framework Version 2.0 で導入されました。旧バージョンの .NET Framework では、browserCaps 要素を使用して、構成ファイルでブラウザーを定義していました。

<browsers>
    <browser id="browser name"
             parentID="parent browser name"
             refID="reference ID">
        <identification>
            <userAgent match="regular expression"
                       nonMatch="regular expression" />
            <header match="regular expression"
                    name="header name"
                    nonMatch="regular expression" />
            <capability match="regular expression"
                        name="capability name"
                        nonMatch="regular expression" />
        </identification>
        <capture>
            <userAgent match="regular expression" />
            <header match="regular expression"
                    name="header name" />
            <capability match="regular expression"
                        name="capability name" />
        </capture>
        <capabilities>
            <capability name="capability name"
                        value="capability value" />
        </capabilities>
        <controlAdapters markupTextWriterType="type name">
            <adapter adapterType="name of adapter class"
                     controlType="name of control class" />
        </controlAdapters>
        <sampleHeaders>
            <header name="header name"
                    value="header value" />
        </sampleHeaders>
    </browser>
    <gateway id="gateway ID"
             parentID="parent browser ID">
        <!-- Same child elements as for <browser>.
        <identification></identification>
        <capture></capture>
        <capabilities></capabilities>
        <controlAdapters></controlAdapters>
        <sampleHeaders></sampleHeaders>
         -->
    </gateway>
    <defaultBrowser id="Default" 
                    parentID="parent browser ID"
                    refID="reference ID" >
        <!-- Same child elements as for <browser>.
        <identification></identification>
        <capture></capture>
        <capabilities></capabilities>
        <controlAdapters></controlAdapters>
        <sampleHeaders></sampleHeaders>
         -->
    </defaultBrowser>
</browsers>

属性および要素

要素

Description

adapter

ASP.NET Web サーバー コントロールと、そのコントロールを現在のブラウザー内に描画するために使用されるアダプターの間のマップを指定します。 たとえば、Nokia.browser ファイルに含まれる次の NokiaMobileBrowserRainbow ブラウザーの定義は、MenuAdapter コントロール アダプター クラスを使用して、Menu サーバー コントロールをブラウザーに適応させるよう指定しています。

    <controlAdapters markupTextWriterType="System.Web.UI.XhtmlTextWriter" >
        <adapter
          controlType="System.Web.UI.WebControls.Menu"
          adapterType="System.Web.UI.WebControls.Adapters.MenuAdapter">
        </adapter>
    </controlAdapters>

adapter 要素に含まれる必須の属性を次の表に示します。

属性Description
adapterType 必須の String 属性です。コントロールをブラウザーに適応させる方法を変更するために使用されるクラスの名前を指定します。
controlType 必須の String 属性です。アダプターにマップするコントロールの名前を指定します。

adapter 要素には子要素がありません。

browser

単一のブラウザー定義を定義します。

browser 要素に含むことができる属性を次の表に示します。

NoteNote
ASP.NET に付属のブラウザー定義ファイルは変更しないでください。これは、Service Pack によってそれらのファイルが更新され、変更が上書きされる可能性があるためです。代わりに、新しい .browser ファイルを作成し、新しいブラウザー定義の中で parentID 属性を使用して設定を継承するか、refID 属性を使用して既存のブラウザー定義に機能を追加します。

ブラウザー定義では、refID 属性を定義するか、id 属性と parentID 属性の両方を定義する必要があります。

属性Description
id parentID 属性を使用する場合に必須となる String 属性です。定義するブラウザーの一意の名前を指定します。
parentID id 属性を使用する場合に必須となる String 属性です。設定を継承する親ブラウザー定義の一意の名前を指定します。これらの設定は、現在のブラウザー定義で上書きできます。親ブラウザー定義は、同じブラウザー定義ファイル内に存在しなくてもかまいませんが、同じアプリケーション、または %SystemRoot%\Microsoft.NET\Framework\version\CONFIG\Browsers ディレクトリで定義されている必要があります。たとえば、次の WebTV ブラウザーの定義は、WebTV.browser ファイルで定義されています。親ブラウザーである IE2 の定義は、同じディレクトリ内の IE.browser ファイルで定義されています。 <browser id=" WebTV " parentID=" IE2 ">
refID
String 属性です。id 属性および parentID 属性が使用されている場合は使用できません。既存のブラウザー定義の識別子を指定します。refID 属性は、新しい機能を既存のブラウザー定義に関連付けるために使用します。複数のブラウザー ノードが同じ refID を参照するよう構成できます。refID 属性が指定されている場合は、browser 要素に identification 子要素を含めることはできません。 refID 属性はターゲット要素を置換しません。代わりに、他のすべての属性設定を適用した後に、この属性設定を適用します。設定は次の順序で適用します。
  • すべての <ゲートウェイの parentID> ノード

  • すべての <ゲートウェイの refID> ノード

  • すべての <ブラウザーの parentID> ノード

  • すべての <ブラウザーの refID> ノード

次の定義例では、IE.browser ファイルに含まれる IE ブラウザーの既存の定義に新しい機能を追加しています。
<browser refID="IE">
    <capabilities>
        <capability name="UseRichTextBox" value="true" />
    </capabilities>
    <controlAdapters>
        <adapter controlType="System.Web.UI.Calendar"
adapterType="ExampleAdapters.ExampleIECalendarAdapter"
        />
    </controlAdapters>
</browser>

browser 要素には、次の子要素を 0 個または 1 個含めることができます。

  • capabilities

  • capture

  • controlAdapters

  • identification

  • sampleHeaders

browsers

.browser ファイルの必須のルート要素を表します。

capabilities

現在のブラウザー定義に設定する機能の値を定義します。 厳密に型指定されたブラウザー機能のリストについては、HttpCapabilitiesBase クラスのトピックのプロパティを参照してください。 これらのプロパティのうち大部分は、ブラウザー定義ファイルにおいて Camel 形式で表現されます。 独自の機能の値を追加することもできます。

capabilities 要素に属性は含まれません。

capabilities 要素には、次の子要素を 0 個以上含めることができます。

  • capability

capability (capabilities の子要素)

現在のブラウザー定義に設定する単一の機能の値を定義します。 たとえば、次の機能は IE.browser ファイル内の IE ブラウザーの定義で定義されています。 この定義例では、Mozilla.browser ファイル内の Mozilla ブラウザーの定義から他の機能を継承しています。 ドル記号の後に中かっこが続き (${})、その内側にテキストが含まれている値は、identification 要素の userAgent 子要素で定義されている match 式 "^Mozilla[^(]*\([C|c]ompatible;\s*MSIE (?'version'(?'major'\d+)(?'minor'\.\d+)(?'letters'\w*))(?'extra'[^)]*)" から取り込まれた値に置き換えられます。

    <capabilities>
        <capability name="browser"          value="IE" />
        <capability name="extra"            value="${extra}" />
        <capability name="isColor"          value="true" />
        <capability name="letters"          value="${letters}" />
        <capability name="majorversion"     value="${major}" />
        <capability name="minorversion"     value="${minor}" />
        <capability name="screenBitDepth"   value="8" />
        <capability name="type"             value="IE${major}" />
        <capability name="version"          value="${version}" />
    </capabilities>

capability 要素には、次の必須の属性が含まれます。

属性Description
name 必須の String 属性です。機能の名前を指定します。厳密に型指定されたブラウザー機能のリストについては、HttpCapabilitiesBase クラスのトピックのプロパティを参照してください。これらのプロパティのうち大部分は、ブラウザー定義ファイルにおいて Camel 形式で表されます。たとえば、CanSendMail ではなく canSendMail と表現されます。独自の機能の値を追加することもできます。
value 必須の String 属性です。機能の値を指定します。厳密に型指定された各ブラウザー機能の値のリストは、HttpCapabilitiesBase クラスのトピックのプロパティに記載されています。value 属性には、"${}" の内側に変数名を記入することによって、取り込まれる変数を含めることができます。

capability 要素には子要素がありません。

capability (identification または capture の子要素)

親ブラウザー クラスの機能の値を正規表現と比較するよう指定します。 たとえば、IE.browser ファイルに含まれる次の IE5to9 ブラウザーの定義では、capability 要素を使用して、このブラウザーがクライアントのブラウザーと一致すると判断されるためには、親である IE の定義の majorversion 機能設定が、指定された正規表現と一致する必要があることを示しています。 このブラウザー定義の例には、親定義に機能を追加する、または親定義の要素を上書きする capability 要素が含まれています。

    <browser id="IE5to9" parentID="IE">
        <identification>
            <capability name="majorversion" match="^[5-9]" />
        </identification>
        <!-- Capability elements. -->
    </browser>

capability 要素に含まれる属性を次の表に示します。 match 属性または nonMatch 属性のどちらかを定義する必要がありますが、両方は定義できません。

属性Description
match String 属性です。nonMatch 属性と同じ要素では使用できません。同じであると識別されるために、親機能設定が一致する必要のある正規表現を指定します。正規表現の書式設定については、「.NET Framework の正規表現」を参照してください。
name 必須の String 属性です。親機能の名前を指定します。
nonMatch String 属性です。match 属性と同じ要素では使用できません。この属性は、capture 要素の capability 子要素では使用されません。同じであると識別されるために、親機能設定が一致してはいけない正規表現を指定します。

capability 要素には子要素がありません。

capture

ブラウザーに関する情報を取り込むために、どのような header 要素、userAgent 要素、または capability 要素を追加的に使用するかに関する情報を定義します。 これは、.NET Framework 2.0 のリリース時には存在しなかった新しいブラウザーを検出しようとするときに便利です。 値を取り込むには、identification 要素の match 属性で定義された正規表現による取り込みをブラウザー定義に含めることができます。 たとえば、IE.browser ファイルで定義されている次の userAgent 要素は、ユーザー エージェントの要求ヘッダーから画面の高さをピクセル単位で取り込みます。

    <capture>
        <userAgent match="PalmSource; Blazer 3\.0\)\s\d+;(?'screenPixelsHeight'\d+)x(?'screenPixelsWidth'\d+)$" />
    </capture>

またブラウザー定義では、ブラウザー クラスの識別に使用されない要求ヘッダーをスキャンすることによって、追加情報を取り込む必要がある場合があります。 たとえば、次の capture 要素は、携帯電話 OpenWave のソフト キーの数を取り込みます。 ソフト キーは、Windows Mobile ベースの SmartPhone の対応するハードウェア ボタンが押されたときに、メニューとコマンドを表示する機能です。

    <capture>
        <header name="HTTP_X_UP_DEVCAP_NUMSOFTKEYS" 
                match="(?'softkeys'\d+)" />
    </capture>

capture 要素に属性は含まれません。

capture 要素には、次の子要素を 0 個以上含めることができます。

  • header

  • userAgent

  • capability

controlAdapters

ブラウザー上のサーバー コントロールを適応させるために使用するコントロール アダプターを定義します。

controlAdapters 要素に含まれる属性を次の表に示します。

属性Description
markupTextWriterType 省略可能な String 属性です。使用するマークアップ テキスト ライターの .NET Framework における型を指定します。既定の型は System.Web.UI.XhtmlTextWriter です。この属性のその他の有効値は、System.Web.UI.Html32TextWriterSystem.Web.UI.HtmlTextWriterSystem.Web.UI.ChtmlTextWriter、またはこれらのクラスのうちいずれかから継承するカスタム クラスです。

controlAdapters 要素には、次の子要素を 0 個以上含めることができます。

  • adapter

defaultBrowser

Default.browser ファイル内で既定のブラウザー機能を定義します。 Default ブラウザー定義は、特定の物理的ブラウザーとは一致しません。設定を継承するために、他の定義によって使用されます。 たとえば、次の Default ブラウザー定義は、Default.browser ファイルに含まれています。

    <defaultBrowser id="Default">
        <capabilities>
            <capability name="ecmascriptversion"   value="0.0" />
            <capability name="javascript"          value="false" />
            <capability name="jscriptversion"      value="0.0" />
        </capabilities>
    </defaultBrowser>

Default ブラウザー定義は、他の多くのブラウザー定義によって継承されています。 たとえば、Panasonic ブラウザーの次の定義は、Panasonic.browser ファイルに含まれています。

<browser id="Panasonic" parentID="Default">

defaultBrowser 要素に含まれる属性を次の表に示します。

属性Description
id 必須の String 属性です。ブラウザーの一意の名前を指定します。

defaultBrowser 要素には、browser 要素と同じ子要素を含めることができます。

gateway

単一のゲートウェイ定義を指定します。 一部のモバイル ブラウザーは、ゲートウェイを通じて Web サーバーに接続されます。ゲートウェイには、独自の機能を追加できます。 複数のゲートウェイが同じ refID 属性を参照するよう構成できます。

gateway 要素には、browser 要素と同じ属性と子要素を含めることができます。 たとえば、IE3AK ゲートウェイの次の定義は、IE.browser ファイルに含まれています。

    <gateway id="IE3AK" parentID="IE3">
        <identification>
            <capability name="extra" match="; AK;" />
        </identification>
        <capture>
        </capture>
        <capabilities>
            <capability name="ak"  value="true" />
        </capabilities>
    </gateway>
NoteNote
browser 要素の parentID 属性が %SystemRoot\Microsoft.NET\Framework\versionNumber\CONFIG\Browsers ディレクトリに配置されている既定の定義ファイル内の gateway 要素を参照するブラウザー定義ファイルは、アプリケーションでは使用できません。ただし、parentID 属性が、同じ App_Browsers フォルダー内の別のブラウザー定義ファイルを参照するように設定できます。

header (identification または capture の子要素)

要求に含まれる特定の HTTP ヘッダーと比較する正規表現、または取り込む対象となる正規表現を指定します。 たとえば、Default.browser ファイルに含まれる Wml ブラウザーの次の定義では、Accept ヘッダーを 2 つの正規表現と比較することによって、一致するブラウザーを識別します。

<identification>
    <header name="Accept" 
            match="text/vnd\.wap\.wml|text/hdml" />
    <header name="Accept" 
            nonMatch="application/xhtml\+xml; profile|application/vnd\.wap\.xhtml\+xml" />
</identification>

header 要素に含まれる属性を次の表に示します。 match 属性または nonMatch 属性のどちらかを定義する必要がありますが、両方は定義できません。

属性Description
match String 属性です。nonMatch 属性と同じ要素では使用できません。同じであると識別されるために、要求ヘッダーの値と一致する必要のある正規表現を指定します。正規表現の書式設定については、「.NET Framework の正規表現」を参照してください。
name 必須の String 属性です。ヘッダーの名前を指定します。
nonMatch String 属性です。match 属性と同じ要素では使用できません。この属性は、capture 要素の capability 子要素では使用されません。同じであると識別されるために、要求ヘッダーの値と一致してはいけない正規表現を指定します。

header 要素には子要素がありません。

header (sampleHeaders の子要素)

このブラウザーの単一のサンプル ヘッダーを指定します。 この要素はオプションで、情報提供のみを目的としています。 シミューレタまたはデバッグ ツールは、この一連のヘッダーを使用して、ブラウザーによる要求をエミュレートできます。

header 要素に含まれる属性を次の表に示します。

属性Description
name 省略可能な String 属性です。ヘッダーの名前を指定します。
value 省略可能な String 属性です。ヘッダーの値を指定します。

header 要素には子要素がありません。

identification

受信した要求からこのブラウザーを識別する方法に関する情報を定義します。

identification 要素に属性は含まれません。

identification 要素には、次の子要素を 1 個以上含むことができます。

  • header

  • userAgent

  • capability

sampleHeaders

このブラウザーの一連のサンプル ヘッダーを指定します。 この要素はオプションで、情報提供のみを目的としています。 シミューレタまたはデバッグ ツールは、この一連のヘッダーを使用して、ブラウザーによる要求をエミュレートできます。

sampleHeaders 要素に属性は含まれません。

sampleHeaders 要素には、次の子要素を 0 個以上含めることができます。

  • header

userAgent

要求のユーザー エージェント ヘッダーと比較する式を指定します。 たとえば、IE.browser ファイルに含まれる IE4 ブラウザーの次の定義では、ブラウザーが要求と共に送信するユーザー エージェント ヘッダーに文字列 "MSIE 4" が含まれるかどうかによって、ブラウザーを識別します。

        <identification>
            <userAgent match="MSIE 4" />
        </identification>

userAgent 要素に含まれる属性を次の表に示します。 match 属性または nonMatch 属性のどちらかを定義する必要がありますが、両方は定義できません。

属性Description
match String 属性です。nonMatch 属性と同じ要素では使用できません。同じであると識別されるために、ユーザー エージェントと一致する必要のある正規表現を指定します。正規表現の書式設定については、「.NET Framework の正規表現」を参照してください。
nonMatch String 属性です。match 属性と同じ要素では使用できません。同じであると識別されるために、ユーザー エージェントと一致してはいけない正規表現を指定します。この属性は、capture 要素の capability 子要素では使用されません。

userAgent 要素には子要素がありません。

解説

既存のブラウザー定義ファイルの中に条件に合うものがない場合は、以下の「使用例」セクションに記載されたコードを使用して新しいブラウザー定義ファイルを作成できます。

セキュリティに関するメモセキュリティに関するメモ

サードパーティのブラウザー定義ファイルは、その提供元を信頼できない場合、ダウンロードまたはインストールしないでください。新しいブラウザー定義ファイルで、未知の名前空間が参照されていないかどうか確認してください。詳細については、「Securing Browser Definition Files」を参照してください。

定義済みのブラウザー定義ファイルは、%SystemRoot%\Microsoft.NET\Framework\version\CONFIG\Browsers ディレクトリに格納されています。 アプリケーションレベルのブラウザー定義ファイルは、アプリケーションの App_Browsers ディレクトリに格納できます。 どちらの場所でも、ブラウザー定義ファイルには .browser というファイル名拡張子を付けてください。 ASP.NET に付属のブラウザー定義ファイルは変更しないでください。これは、Service Pack によってそれらのファイルが更新され、変更が上書きされる可能性があるためです。 代わりに、新しい .browser ファイルを作成し、新しい browser 定義の中で parentID 属性を使用して設定を継承するか、refID 属性を使用して既存のブラウザー定義に機能を追加します。

実行時に、ブラウザー定義ファイルの情報は、BrowserCapabilitiesFactory オブジェクト内の既知のブラウザーのコレクション内にマージされます。 要求が行われると、ASP.NET は、要求ヘッダーによって要求の送信元ブラウザーを識別し、その送信元ブラウザーのタイプに応じた HttpBrowserCapabilities オブジェクトをコンパイルします。 この処理は、ディクショナリが空の状態から開始され、ブラウザー定義ツリーに対して次の手順を再帰的に実行することによって行われます。

  1. 既定のブラウザー定義から開始されます。この定義は、常に一致するものと見なされます。

  2. このブラウザー定義で指定されている機能の値を、このブラウザーの機能ディクショナリにマージします。 ブラウザー定義で指定されている値が、親定義で設定されている値をオーバーライドします。

  3. 各子定義を評価して、一致するかどうかを判断します。 一致する各子定義について、手順 1 から再度実行します。 ブラウザー定義は、ゲートウェイ定義の後で評価されます。 ユーザー エージェントが 1 つ以上のブラウザー定義または 1 つ以上のゲートウェイ定義と一致する場合は、実行時に例外がスローされます。

HttpBrowserCapabilities オブジェクトはキャッシュされ、同じタイプのブラウザーからの別の要求に再利用される場合があります。

Web アプリケーションは、HttpRequest.Browser プロパティを使用して、HttpBrowserCapabilities オブジェクトの現在のインスタンスにアクセスできます。 このオブジェクトは読み取り専用で、各機能のプロパティを格納しています。 別の方法として、HttpBrowserCapabilities クラスを継承するカスタム クラスを構築して、インスタンスを HttpRequest.Browser プロパティに格納することもできます。

App_Browsers ディレクトリ内の .browser ファイルを変更すると、キャッシュが無効にされ、次の要求が行われた時にアプリケーションが再コンパイルされます。 しかし、%SystemRoot%\Microsoft.NET\Framework\version\CONFIG\Browsers ディレクトリ内の .browser ファイルを変更した場合は、%SystemRoot%\Microsoft.NET\Framework\version\aspnet_regbrowsers.exe ツールを使用して手動でアプリケーションを再コンパイルするか、BrowserCapabilitiesCodeGenerator クラスを使用してプログラムでアプリケーションを再コンパイルする必要があります。

注意

Web.config ファイル内で browserCaps 要素を使用してブラウザーを定義する方法は、.NET Framework 2.0 では使用されませんが、サポートは継続しています。この要素内のデータは、ブラウザー定義ファイルの情報とマージされます。

ブラウザーがアプリケーションに対して要求を行うと、ブラウザーの機能が Browser プロパティに格納されます。 ブラウザーの ID は、UserAgent プロパティに格納されます。 ASP.NET Web サーバー コントロールは、機能のリストに問い合わせて、コントロールの動作をさまざまなブラウザーに適応させる方法を決定します。

Capabilities

厳密に型指定されたブラウザー機能のリストについては、HttpCapabilitiesBase クラスのトピックのプロパティを参照してください。 これらのプロパティは、ブラウザー定義ファイルにおいて Camel 形式で表されます。 たとえば、ブラウザー定義ファイルで BackgroundSounds 機能を指定する場合は、backgroundSounds と入力します。

独自の機能の値を定義することもできます。

Web アプリケーションは、次の 2 つの方法のうちいずれかを使用して、HttpBrowserCapabilities オブジェクトから機能の値を取得できます。

  • 機能のディクショナリにアクセスします。 この方法は、カスタムの機能に使用できます。

    たとえば、現在のクライアントのブラウザーの ECMAScript (JavaScript) 機能の値を取得するには、次のコードを使用します。

    String cap_javascript = Request.Browser["javascript"];
    
  • 機能をラップする厳密に型指定されたプロパティを呼び出します。

    たとえば、現在のクライアントのブラウザーの ECMAScript 機能の値を取得するには、次のコードを使用します。

    String cap_javascript = Request.JavaScript;
    

既定の構成

.NET Framework には、定義済みのブラウザー定義ファイル (%SystemRoot%\Microsoft.NET\Framework\version\CONFIG\Browsers ディレクトリ) が付属しています。 アプリケーションの App_Browsers ディレクトリ内にアプリケーション レベルのブラウザー定義ファイルを作成することもできます。 特殊な ASP.NET ディクショナリの詳細については、「ASP.NET Web Site Layout」を参照してください。

次のコード例は、%SystemRoot%\Microsoft.NET\Framework\version\CONFIG\Browsers ディレクトリ内の Generic.browser ファイルです。

注意

%SystemRoot%\Microsoft.NET\Framework\version\CONFIG\Browsers ディレクトリ内の既存のブラウザー定義ファイルを変更しないでください。これらのファイルは、.NET Framework によって管理されます。

<browsers>
    <browser id="GenericDownlevel" parentID="Default">
        <identification>
            <userAgent match="^Generic Downlevel$" />
        </identification>
        <capture>
        </capture>
        <capabilities>
            <capability name="cookies"
                        value="false" />
            <capability name="ecmascriptversion" 
                        value="1.0" />
            <capability name="tables"
                        value="true" />
            <capability name="type"
                       value="Downlevel" />
        </capabilities>
        <controlAdapters>
        <adapter controlType="System.Web.UI.WebControls.Menu"
                     adapterType="System.Web.UI.WebControls.Adapters.MenuAdapter" />
        </controlAdapters>
    </browser>
    <browser id="Mozilla" parentID="Default">
        <identification>
            <userAgent match="Mozilla" />
        </identification>
        <capture>
        </capture>
        <capabilities>
            <capability name="browser"
                        value="Mozilla" />
            <capability name="cookies"
                        value="false" />
            <capability name="inputType"
                        value="keyboard" />
            <capability name="isColor"
                        value="true" />
            <capability name="isMobileDevice"
                        value="false" />
            <capability name="maximumRenderedPageSize"
                        value="300000" />
            <capability name="screenBitDepth"
                        value="8" />
            <capability name="supportsBold"
                        value="true" />
            <capability name="supportsCss"
                        value="true" />
            <capability name="supportsDivNoWrap"
                        value="true" />
            <capability name="supportsFontName"
                        value="true" />
            <capability name="supportsFontSize"
                        value="true" />
            <capability name="supportsImageSubmit"
                        value="true" />
            <capability name="supportsItalic"
                        value="true" />
            <capability name="type"
                        value="Mozilla" />
        </capabilities>
    </browser>
</browsers>

使用例

次のコード例は、ブラウザー定義ファイルの構築に使用できる空の .browser ファイルです。 独自のブラウザー ファイルでは、循環参照を作成しないよう注意してください。

<?xml version="1.0" encoding="utf-8"?>

<browsers>
    <browser id="NewBrowser" parentID="Mozilla">
        <identification>
            <userAgent match="Unique User Agent Regular Expression" />
        </identification>

        <capture>
            <userAgent match="NewBrowser (?'version'\d+\.\d+)" />
        </capture>

        <capabilities>
            <capability name="browser" value="My New Browser" />
            <capability name="version" value="${version}" />
        </capabilities>
    </browser>

    <browser refID="Mozilla">
        <capabilities>
            <capability name="xml" value="true" />
        </capabilities>
    </browser>
</browsers>

要素情報

構成セクション ハンドラー

System.Web.Configuration.HttpCapabilitiesSectionHandler

構成メンバー

HttpRequest.Browser

HttpCapabilitiesBase.Browsers

HttpCapabilitiesBase.Capabilities

System.Web.HttpBrowserCapabilities

構成できる場所

マシンのルート レベルの Browsers ディレクトリ

アプリケーション レベルの App_Browsers ディレクトリ

要件

Internet Information Services (IIS) Version 5.0 以降

.NET Framework Version 2.0 以降

Visual Studio 2005 以降のバージョン

参照

処理手順

How to: Detect Browser Types in ASP.NET Web Pages

Reference

Browsers

Capabilities

HttpCapabilitiesSectionHandler

HttpBrowserCapabilities

deviceFilters 要素 (ASP.NET 設定スキーマ)

mobileControls 要素 (ASP.NET 設定スキーマ)

browserCaps 要素 (ASP.NET 設定スキーマ)

概念

ASP.NET Web Server Controls and Browser Capabilities

Securing Browser Definition Files

Configuration Inheritance

ASP.NET Device Filtering Overview

Architectural Overview of Adaptive Rendering

その他の技術情報

ASP.NET for Mobiles: The Official Microsoft ASP.NET Site (モバイル向け ASP.NET: Microsoft ASP.NET のオフィシャル サイト)

全般構成設定 (ASP.NET)

ASP.NET 構成設定