ASP Browser Capabilities 組件
實(shí)例
- Browser Capabilities 組件
- 本例演示如何測(cè)定每一個(gè)訪問網(wǎng)站的瀏覽器的類型、性能以及版本號(hào)。
ASP Browser Capabilities 組件
ASP Browser Capabilities 組件會(huì)創(chuàng)建一個(gè) BrowserType 對(duì)象,這個(gè)對(duì)象可測(cè)定訪問者瀏覽器的類型、性能以及版本號(hào)。
當(dāng)瀏覽器連接到服務(wù)器時(shí),就會(huì)向服務(wù)器發(fā)送一個(gè) HTTP User Agent 報(bào)頭。這個(gè)報(bào)頭包含著有關(guān)瀏覽器的信息(比如瀏覽器類型和版本號(hào))。BrowserType 對(duì)象會(huì)把報(bào)頭中的信息與服務(wù)器上名為 "Browscap.ini" 的文件中的信息作比較。
如果標(biāo)題中被發(fā)送的瀏覽器類型和版本號(hào)和 "Browsercap.ini" 文件中信息可以匹配,那么我們就可以使用 BrowserType 對(duì)象列出這個(gè)匹配的瀏覽器的相關(guān)屬性。如果上述情況不匹配,這個(gè)對(duì)象會(huì)把每個(gè)屬性設(shè)置為 "UNKNOWN"。
語(yǔ)法
<% Set MyBrow=Server.CreateObject("MSWC.BrowserType") %>
下面的例子對(duì)在 ASP 文件中創(chuàng)建一個(gè) BrowserType 對(duì)象,并顯示一個(gè)展示當(dāng)前瀏覽器性能的表格:
<html> <body> <% Set MyBrow=Server.CreateObject("MSWC.BrowserType") %> <table border="1" width="100%"> <tr> <th>Client OS</th> <th><%=MyBrow.platform%></th> </tr><tr> <td >Web Browser</td> <td ><%=MyBrow.browser%></td> </tr><tr> <td>Browser version</td> <td><%=MyBrow.version%></td> </tr><tr> <td>Frame support?</td> <td><%=MyBrow.frames%></td> </tr><tr> <td>Table support?</td> <td><%=MyBrow.tables%></td> </tr><tr> <td>Sound support?</td> <td><%=MyBrow.backgroundsounds%></td> </tr><tr> <td>Cookies support?</td> <td><%=MyBrow.cookies%></td> </tr><tr> <td>VBScript support?</td> <td><%=MyBrow.vbscript%></td> </tr><tr> <td>JavaScript support?</td> <td><%=MyBrow.javascript%></td> </tr> </table> </body> </html>
輸出:
Client OS | WinNT |
---|---|
Web Browser | IE |
Browser version | 5.0 |
Frame support? | True |
Table support? | True |
Sound support? | True |
Cookies support? | True |
VBScript support? | True |
JavaScript support? | True |
Browscap.ini文件
"Browsercap.ini" 文件用于聲明屬性,并設(shè)置各瀏覽器的默認(rèn)值。
本節(jié)內(nèi)容不是關(guān)于如何 Browscap.ini 文件的教程,我們只提供一些關(guān)于 "Browsercap.ini" 的基礎(chǔ)知識(shí)和概念。
"Browsercap.ini" 文件可包含下面的信息:
[;comments] [HTTPUserAgentHeader] [parent=browserDefinition] [property1=value1] [propertyN=valueN] [Default Browser Capability Settings] [defaultProperty1=defaultValue1] [defaultPropertyN=defaultValueN]
參數(shù) | 描述 |
---|---|
comments | 可選項(xiàng)。任何起始于分號(hào)的代碼行都被 BrowserType 對(duì)象忽略 |
HTTPUserAgentHeader | 可選項(xiàng)。規(guī)定與在 propertyN 中設(shè)定的 browser-property 值聲明相關(guān)的 HTTP User Agent 報(bào)頭。允許使用通配符。 |
browserDefinition | 可選項(xiàng)。規(guī)定作為父瀏覽器使用的某個(gè)瀏覽器的 HTTP User Agent header-string。當(dāng)前瀏覽器的定義會(huì)繼承在父瀏覽器的定義中所有聲明過的屬性值。 |
propertyN | 可選項(xiàng)。規(guī)定瀏覽器的屬性。下面的表格列出了某些可能的屬性:
|
valueN | 可選項(xiàng)。規(guī)定 propertyN 的值。可為字符串、整數(shù)(前綴為#)或者邏輯值。 |
defaultPropertyN | 可選項(xiàng)。規(guī)定瀏覽器屬性的名稱,假如已定義的 HTTPUserAgentHeader 值中沒有值能與瀏覽器發(fā)送的 HTTP 用戶代理報(bào)頭相匹配,則為這個(gè)屬性分配一個(gè)默認(rèn)的值。 |
defaultValueN | Optional. 規(guī)定 defaultPropertyN 的值。可為字符串、整數(shù)(前綴為 #)或者邏輯值。 |
"Browsercap.ini"文件會(huì)類似這樣:
;IE 5.0 [IE 5.0] browser=IE Version=5.0 majorver=#5 minorver=#0 frames=TRUE tables=TRUE cookies=TRUE backgroundsounds=TRUE vbscript=TRUE javascript=TRUE javaapplets=TRUE ActiveXControls=TRUE beta=False;DEFAULT BROWSER [*] browser=Default frames=FALSE tables=TRUE cookies=FALSE backgroundsounds=FALSE vbscript=FALSE javascript=FALSE