browserCaps 的 filter 項目 (ASP.NET 設定結構描述)
這個項目會指定搜尋字串清單,這些字串可讓您將個人設定套用至特定的瀏覽器定義。
注意事項 |
---|
使用 Web.config 檔中的 browserCaps 項目來定義瀏覽器在 .NET Framework 2.0 版中已經被取代,不過依然提供支援。這個項目中的資料會與來自瀏覽器定義檔 (.browser) 的資訊進行合併,而這些定義檔則是位於電腦層級的 %SystemRoot%\Microsoft.NET\Framework\version\CONFIG\Browsers 資料夾,以及任何現有之應用程式層級的 App_Browsers 資料夾中。如需詳細資訊,請參閱瀏覽器定義檔結構描述 (browsers 項目)。 |
<filter>
[assignments, filter elements and case elements]
<filter>
<filter
match="[regular expression]"
with="[regular expression]" >
[browser capability assignments, filter elements, case elements]
</filter>
<filter>
<case>...</case>
</filter>
屬性和項目
下列各節將說明屬性、子項目和父項目。
屬性
屬性 |
描述 |
---|---|
match |
選擇性 String 屬性。 指定 .NET Framework 規則運算式,此規則運算式是針對 with 屬性進行測試。 如果予以省略,則假設該比對已經成功。 |
with |
選擇性 String 屬性。 指定要搜尋的 .NET Framework 規則運算式或字串。 如果省略,則會使用 use 項目所指定的字串。 |
子項目
項目 |
描述 |
---|---|
case |
允許在處理第一個成功比對的項目之後停止進行模式比對。 |
父項目
項目 |
描述 |
---|---|
configuration |
指定 Common Language Runtime 和 .NET Framework 應用程式所使用之每個組態檔中需要的根項目 (Root Element)。 |
system.web |
指定組態檔中 ASP.NET 組態設定的根項目 (Root Element),並包含會設定 ASP.NET Web 應用程式以及控制這些應用程式之行為的組態項目。 |
browserCaps |
指定所支援瀏覽器的設定以及這些瀏覽器的功能。 可以按需要更新 browserCaps 項目,指定新的瀏覽器及功能。 如需有效瀏覽器屬性的清單,請參閱 HttpBrowserCapabilities。 |
備註
browserCaps 項目會指定搜尋字串清單,這些字串可讓您將個人設定套用至特定的瀏覽器定義。 清單中包含的規則會依序套用。 第一個符合的子 case 項目會受到評估,其餘的子 case 項目則會遭到忽略。
預設組態
在 .NET Framework 2.0 版中,不會設定 filter 項目,因為使用瀏覽器定義檔取代了 browserCaps 項目,以指定支援的瀏覽器及其功能。 如需詳細資訊,請參閱瀏覽器定義檔結構描述 (browsers 項目)。
在 .NET Framework 1.0 版和 1.1 版中,Machine.config 檔案中設定的預設 filter 項目數量繁多,無法在此一一列出。 如需瀏覽器資料的更新,請移至 http://www.cyscape.com/browsercaps。 定期的裝置更新會取代此瀏覽器功能區段。
範例
下列程式碼範例中,會示範如何剖析任一版本 Microsoft Internet Explorer 的 User-Agent HTTP 標頭,只要 User-Agent 字串的格式大約維持不變。
該範例會使用 .NET Framework 規則運算式並使用規則運算式的功能擷取子運算式,以便將版本號碼直接從 User-Agent 字串移至 browserCaps 項目。
這個檔案會以指派陳述式 (Assignment Statement) 的形式來指定名稱/值組,其形式類似於 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>
項目資訊
組態區段處理常式 |
|
組態成員 |
|
可設定的位置 |
Machine.config 根層次的 Web.config 應用程式層級的 Web.config 虛擬或實體目錄層級的 Web.config |
需求 |
Microsoft Internet Information Services (IIS) 5.0、5.1 或 6.0 版 .NET Framework 2.0 (已取代)、1.0 或 1.1 版 Microsoft Visual Studio 2003 或 Visual Studio 2005 |
請參閱
工作
HOW TO:在 ASP.NET Web 網頁中偵測瀏覽器類型和瀏覽器功能
參考
browserCaps 項目 (ASP.NET 設定結構描述)
browserCaps 篩選條件的 case 項目 (ASP.NET 設定結構描述)
system.web 項目 (ASP.NET 設定結構描述)
browserCaps 的 result 項目 (ASP.NET 設定結構描述)
browserCaps 的 use 項目 (ASP.NET 設定結構描述)
HttpCapabilitiesSectionHandler