ASP Browser Capabilities 组件


ASP Browser Capabilities 组件会创建一个 BrowserType 对象,这个对象可测定访客浏览器的类型、性能和版本号。

当浏览器连接到服务器时,就会向服务器发送一个 HTTP User Agent 报头。这个报头包含关于浏览器的信息。

BrowserType 对象会把报头中的信息与服务器上名为 "Browscap.ini" 的文件中的信息作比较。

如果报头中的浏览器类型和版本号与 "Browsercap.ini" 文件中信息匹配,那么我们就可以使用 BrowserType 对象列出这个匹配的浏览器的相关属性。如果上述情况不匹配,这个对象会把每个属性设置为 "UNKNOWN"。

语法

  1. <%
    Set MyBrow=Server.CreateObject("MSWC.BrowserType")
    %>

ASP Browser Capabilities 实例

下面的实例会在 ASP 文件中创建一个 BrowserType 对象,并显示当前浏览器性能的一些信息:

实例

  1. <!DOCTYPE html>
    <html>
    <body>
    <%
    Set MyBrow=Server.CreateObject("MSWC.BrowserType")
    %>

    <table border="0" 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 OSWinNT
Web BrowserIE
Browser version5.0
Frame support?True
Table support?True
Sound support?True
Cookies support?True
VBScript support?True
JavaScript support?True

Browscap.ini 文件

"Browscap.ini" 文件用于声明属性,并设置各浏览器的默认值。

这部分内容不是关于如何维护 Browscap.ini 文件的教程,我们只提供一些关于 "Browsercap.ini" 的基础知识和概念,让您对该文件有个大概的了解。

"Browscap.ini" 文件可包含下面的信息:

  1. [;comments]
    [HTTPUserAgentHeader]
    [parent=browserDefinition]
    [property1=value1]
    [propertyN=valueN]
    [Default Browser Capability Settings]
    [defaultProperty1=defaultValue1]
    [defaultPropertyN=defaultValueN]


参数描述
comments可选项。任何起始于分号的代码行都被 BrowserType 对象忽略。
HTTPUserAgentHeader可选项。规定与在 propertyN 中设定的 browser-property 值声明相关的 HTTP User Agent 报头。允许使用通配符。
browserDefinition可选项。规定作为父浏览器使用的某个浏览器的 HTTP User Agent header-string。当前浏览器的定义会继承在父浏览器的定义中所有声明过的属性值。
propertyN可选项。规定浏览器的属性。下面的表格列出了某些可能的属性:
  • ActiveXControls - 支持 ActiveX® 控件?
  • Backgroundsounds - 支持背景声音?
  • Cdf - 支持针对网络广播的频道定义格式?
  • Tables - 支持表格?
  • Cookies - 支持 cookies?
  • Frames - 支持框架?
  • Javaapplets - 支持 Java applets?
  • Javascript - 支持 JScript?
  • Vbscript - 支持 VBScript?
  • Browser - 规定浏览器的名称
  • Beta - 浏览器是否为 beta 软件?
  • Platform - 规定浏览器运行的平台
  • Version - 规定浏览器的版本号
valueN可选项。规定 propertyN 的值。可为字符串、整数(前缀带 #)或者布尔值。
defaultPropertyN可选项。规定浏览器属性的名称,假如已定义的 HTTPUserAgentHeader 值中没有值能与浏览器发送的 HTTP User Agent 报头相匹配,则为这个属性分配一个默认的值。
defaultValueN可选项。规定 defaultPropertyN 的值。可为字符串、整数(前缀带 #)或者布尔值。

"Browscap.ini" 文件可能如下所示:

  1. ;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