ASP Browser Capabilities

From http://www.w3schools.com (Copyright Refsnes Data)

# ASP Browser Capabilities Component

## Examples

The Browser Capabilities Component
This example shows how to determine the type, capabilities and version number of each browser visiting your site.

## ASP Browser Capabilities Component

The ASP Browser Capabilities component creates a BrowserType object that determines the type, capabilities and version number of each browser that visits your site.

When a browser connects to a server, an HTTP User Agent Header is also sent to the server. This header contains information about the browser (like browser type and version number). The BrowserType object then compares the information in the header with information in a file on the server called "Browscap.ini".

If there is a match between the browser type and version number sent in the header and the information in the "Browsercap.ini" file, you can use the BrowserType object to list the properties of the matching browser. If there is no match for the browser type and version number in the Browscap.ini file, it will set every property to "UNKNOWN".

### Syntax

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

The example below creates a BrowserType object in an ASP file, and displays a table showing some of the capabilities of the current browser:

    <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>

Output:

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

## The Browscap.ini File

The "Browsercap.ini" file is used to declare properties and to set default values for browsers.

This section is not a tutorial on how to maintain "Browsercap.ini" files, it only shows you the basics; so you get an idea what a "Browsercap.ini" file is all about.

The "Browsercap.ini" file can contain the following:

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

Parameter | Description
--- | ---
comments | Optional. Any line that starts with a semicolon are ignored by the BrowserType object
HTTPUserAgentHeader | Optional. Specifies the HTTP User Agent header to associate with the browser-property value statements specified in propertyN. Wildcard characters are allowed
browserDefinition | Optional. Specifies the HTTP User Agent header-string of a browser to use as the parent browser. The current browser's definition will inherit all of the property values declared in the parent browser's definition

propertyN

Optional. Specifies the browser properties. The following table lists some possible properties:

- ActiveXControls - Support ActiveX® controls?
- Backgroundsounds - Support background sounds?
- Cdf - Support Channel Definition Format for Webcasting?
- Tables - Support tables?
- Cookies - Support cookies?
- Frames - Support frames?
- Javaapplets - Support Java applets?
- Javascript - Supports JScript?
- Vbscript - Supports VBScript?
- Browser - Specifies the name of the browser
- Beta - Is the browser beta software?
- Platform - Specifies the platform that the browser runs on
- Version - Specifies the version number of the browser

valueN | Optional. Specifies the value of propertyN. Can be a string, an integer (prefix with #), or a Boolean value
defaultPropertyN | Optional. Specifies the name of the browser property to which to assign a default value if none of the defined HTTPUserAgentHeader values match the HTTP User Agent header sent by the browser
defaultValueN | Optional. Specifies the value of defaultPropertyN. Can be a string, an integer (prefix with #), or a Boolean value

A "Browsercap.ini" file might look something like this:

    ;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

From http://www.w3schools.com (Copyright Refsnes Data)