ASP Browser Capabilities 컴포넌트

实例

Browser Capabilities 组件
本例演示如何测定每一个访问网站的浏览器的类型、性能以及版本号。

ASP Browser Capabilities 컴포넌트

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

当浏览器连接到服务器时,就会向服务器发送一个 HTTP User Agent 报头。这个报头包含着有关浏览器的信息(比如浏览器类型和版本号)。BrowserType 对象会把报头中的信息与服务器上名为 "Browscap.ini" 的文件中的信息作比较。

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

语法

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

以下的例子展示了如何在 ASP 文件中创建一个 BrowserType 对象,并显示一个展示当前浏览器性能的表格:

<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 지원?</td>
<td><%=MyBrow.backgroundsounds%></td>
</tr><tr>
<td>Cookies 지원?</td>
<td><%=MyBrow.cookies%></td>
</tr><tr>
<td>VBScript 지원?</td>
<td><%=MyBrow.vbscript%></td>
</tr><tr>
<td>JavaScript 지원?</td>
<td><%=MyBrow.javascript%></td>
</tr>
</table>
</body>
</html>

출력:

클라이언트 OS WinNT
웹 브라우저 IE
브라우저 버전 5.0
Frame 지원? True
Table 지원? True
Sound 지원? True
Cookies 지원? True
VBScript 지원? True
JavaScript 지원? True

Browscap.ini 파일

"Browsercap.ini" 파일은 속성을 선언하고 각 브라우저의 기본 값을 설정하는 데 사용됩니다.

이 섹션의 내용은 Browscap.ini 파일에 대한 튜토리얼이 아닙니다. 우리는 "Browsercap.ini"에 대한 기본 지식과 개념을 제공합니다.

"Browsercap.ini" 파일은 다음 정보를 포함할 수 있습니다:

[;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 Optional. 부모 브라우저로 사용할 브라우저의 HTTP User Agent header-string을 지정합니다. 현재 브라우저의 정의는 부모 브라우저 정의에 포함된 모든 선언된 속성 값을 상속합니다.
propertyN Optional. 브라우저 속성을 지정합니다. 아래 테이블은 일부 가능한 속성을 나열합니다:
  • ActiveXControls - ActiveX 컨트롤을 지원하나요?
  • Backgroundsounds - 배경 음악을 지원하나요?
  • Cdf - 네트워크 방송(Webcasting)에 대한 채널 정의 형식(Channel Definition Format)을 지원하나요?
  • Tables - 테이블을 지원하나요?
  • Cookies - 쿠키를 지원하나요?
  • Frames - 프레임을 지원하나요?
  • Javaapplets - Java 애플릿을 지원하나요?
  • Javascript - JScript를 지원하나요?
  • Vbscript - VBScript를 지원하나요?
  • Browser - 브라우저 이름을 정의합니다
  • Beta - 브라우저가 베타 소프트웨어인가?
  • Platform - 브라우저가 실행되는 플랫폼을 지정합니다
  • Version - 브라우저의 버전 번호를 지정합니다.
valueN Optional. propertyN 값을 지정합니다. 문자열, 정수(구분자는 #) 또는 논리 값이 될 수 있습니다.
defaultPropertyN Optional. 브라우저 속성 이름을 지정합니다. 정의된 HTTPUserAgentHeader 값 중 브라우저가 전송하는 HTTP 사용자代理 헤더와 일치하는 값이 없으면 이 속성에 기본 값을 할당합니다.
defaultValueN Optional. defaultPropertyN 값을 지정합니다. 문자열, 정수(구분자는 #) 또는 논리 값이 될 수 있습니다.

"Browsercap.ini" 파일은 이렇게 될 것입니다:

;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