Browser Capabilities 元件建立 BrowserType 物件,能辨識訪客瀏覽器類型、版本、作業系統及支援功能(如框架、Cookie、JavaScript 等)。
運作原理:瀏覽器連線時送出 HTTP User-Agent 標頭,元件將其與伺服器上的 Browscap.ini 定義檔比對,若匹配則回傳詳細屬性,否則屬性值為 "UNKNOWN"。
<%
Set MyBrow = Server.CreateObject("MSWC.BrowserType")
%>
<!DOCTYPE html>
<html>
<body>
<%
Set MyBrow = Server.CreateObject("MSWC.BrowserType")
%>
<table border="0" width="100%">
<tr><th>用戶端作業系統</th><td><%=MyBrow.platform%></td></tr>
<tr><th>瀏覽器名稱</th><td><%=MyBrow.browser%></td></tr>
<tr><th>瀏覽器版本</th><td><%=MyBrow.version%></td></tr>
<tr><th>支援框架?</th><td><%=MyBrow.frames%></td></tr>
<tr><th>支援表格?</th><td><%=MyBrow.tables%></td></tr>
<tr><th>支援背景音效?</th><td><%=MyBrow.backgroundsounds%></td></tr>
<tr><th>支援 Cookies?</th><td><%=MyBrow.cookies%></td></tr>
<tr><th>支援 VBScript?</th><td><%=MyBrow.vbscript%></td></tr>
<tr><th>支援 JavaScript?</th><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 |
此檔案定義瀏覽器特徵字串與屬性對應關係,支援繼承與預設值。主要區段:
[HTTPUserAgentHeader]:比對 User-Agent 字串(支援萬用字元)。[parent=browserDefinition]:繼承父定義屬性。propertyN=valueN:設定具體屬性(如 frames=TRUE、version=5.0)。[Default Browser Capability Settings]:未匹配時的預設屬性。常見屬性:ActiveXControls、Backgroundsounds、Tables、Cookies、Frames、Javaapplets、Javascript、Vbscript、Browser、Beta、Platform、Version。
; 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
注意:微軟已停止更新 Browscap.ini,現代專案建議使用第三方資料庫(如 browscap/browscap)或前端 navigator.userAgentData (User-Agent Client Hints) 取得更準確資訊。