<browserCaps> 項目
控制瀏覽器能力元件的設定。可在電腦、網站、應用程式和子目錄層級來宣告 <browserCaps> 項目。<browserCaps> 項目可視需要以進行更新,以偵測未來的瀏覽器和瀏覽器能力。
如需有效瀏覽器屬性的清單,請參閱 HttpBrowserCapabilities 類別。
<configuration>
<system.web>
<browserCaps>
<browserCaps>
<result type="class"/> <use var="HTTP_USER_AGENT"/> browser=Unknown
version=0.0
majorver=0
minorver=0
frames=false
tables=false
<filter> <case match="Windows 98|Win98">
platform=Win98
</case> <case match="Windows NT|WinNT">
platform=WinNT
</case> </filter> <filter match="Unknown" with="%(browser)">
<filter match="Win95" with="%(platform)">
</filter> </filter></browserCaps>
子標記
子標記 | 說明 |
---|---|
<use> | 指定評估區段中的 <filter>、<case> 和設定 (Assignment) 時所用的伺服器變數。 |
<filter> | 評估符合的第一個子 <case> 項目;其餘的予以忽略。 |
<result> | 指定用來保留剖析這個區段所產生的索引鍵/值字串配對的 HttpCapabilitiesBase 衍生類別 (例如,上述語法區塊中的 browser 、version 和 majorver )。這個字串可在 Runtime 用來建立傳回型別。 |
備註
capsVariableName=
regular expression 格式的程式碼行是用來做設定的。在 match 屬性中和設定的右邊所用的語法為 %{capsVariableName}
或 ${captureGroupName}
。如需有關使用規則運算式 (Regular Expression) 的詳細資訊,請參閱 .NET Framework 規則運算式。如需完整的 <browserCaps> 區段,以及這個語法更完整的範例,請參閱使用 .NET Framework 安裝的 Machine.config 檔案。
用 capsVariableName
所捕捉的名稱/值配對,可透過從 HttpCapabilitiesBase 繼承而來的 HttpBrowserCapabilities 的 Item 屬性進行存取。Item 屬性是 C# 中預設的索引子 (Indexer) 屬性。
範例
下列範例示範剖析任一版本的 Internet Explorer (只要 User-Agent 字串的格式大約維持不變) 的 User-Agent HTTP 標頭。
這個範例使用 .NET Framework 規則運算式,並使用規則運算式的功能來擷取子運算式,將版本編號直接從 User-Agent 字串移至瀏覽器功能物件。
這個檔案以設定陳述式的形式來指定名稱/值配對,類似於 Microsoft Internet Information Services (IIS) browscap.ini 檔案。例如,「browser=IE」這一行將瀏覽器欄位的值設定為字串「IE」。
<configuration>
<browserCaps>
<result type="System.Web.HttpBrowserCapabilities, System.Web"/>
<use var="HTTP_USER_AGENT"/>
browser=Unknown
version=0.0
majorversion=0
minorversion=0
frames=false
tables=false
cookies=false
backgroundsounds=false
<filter>
<case match="^Mozilla[^(]*\(compatible; MSIE
(?'ver'(?'major'\d+)(?'minor'\.\d+)(?'letters'\w*))
(?'extra'.*)">
browser=IE
version=${ver}
majorver=${major}
minorver=${minor}
<case match="^2\." with="%{version}">
tables=true
cookies=true
backgroundsounds=true
<case match="2\.5b" with="%{version}">
beta=true
</case>
</case>
</case>
</filter>
</browsercaps>
</configuration>
需求
包含於:<system.web>
**Web 平台:**IIS 5.0、IIS 5.1、IIS 6.0
**組態檔:**Machine.config, Web.config
**組態區段處理常式:**System.Web.Configuration.HttpCapabilitiesSectionHandler