明辉手游网中心:是一个免费提供流行视频软件教程、在线学习分享的学习平台!

ASP实用大全-ASP服务器组件(3)

[摘要]浏览器性能组件  对于ASP的扩展组件,有些大家已耳熟能详,有些则还陌生的很,写这篇文章的的意图无非想抛砖引玉,在各位对ASP几大对象已烂熟于心时,不妨玩玩一些不常用的可扩展组件,相信会对各位的ASP编程有很大的启发。(这篇文章的内容来自MSDN,对其了若指掌的朋友自不必看。还有,小妹的耐 ...

浏览器性能组件

     对于ASP的扩展组件,有些大家已耳熟能详,有些则还陌生的很,写这篇文章的的意图无非想抛砖引玉,在各位对ASP几大对象已烂熟于心时,不妨玩玩一些不常用的可扩展组件,相信会对各位的ASP编程有很大的启发。(这篇文章的内容来自MSDN,对其了若指掌的朋友自不必看。还有,小妹的耐 心不好,如果写完了这篇没有长性就此罢笔,望各位在大骂的时候留点口德,多谢多谢。):b

  [center]Browser Capabilities Component——浏览器性能组件[/center]

  浏览器性能组件创建一个浏览器类型(BrowserType)对象用以向你的脚本描述客户端浏览器能力。

  一旦一个浏览器连接到Web服务器,浏览器会自动将一串用户代理HTTP报头(User Agent HTTP Header)传送到服务器。该报头为一ASCII字符串用以识别该浏览器及其版本号。浏览器类型(BrowserType)对象将该报头与Browsercap.ini文件中的条目进行比较。

  如果找到匹配的条目,浏览器类型(BrowserType)对象假设该浏览器具备Browsercap.ini文件中所描述的属性。

  如果对象没有在Browsercap.ini文件中找到与报头匹配的条目,浏览器类型(BrowserType)对象假设该浏览器具备默认浏览器的属性。如果没有匹配条目并且Browsercap.ini文件没有定义默认浏览器的各项设置,则浏览器类型(BrowserType)对象将该浏览器的各项属性值赋为“Unkown”。

  通过升级Browsercap.ini文件,你可以方便的把浏览器属性或者对新浏览器的描述加入到这个组件(稍候介绍如何升级Browsercap.ini文件)。

  文件名

  Browsercap.dll 浏览器性能组件

  Browsercap.ini 一个用以描述浏览器属性的文本文件,该文件必须和Brwosercap.dll文件处于同一目录下

  语法

  Set BrowserType = Server.CreateObject("MSWC.BrowserType")

  参数

  BrowserType——用Server.CreateObject语句创建的浏览器类型(BrowserType)对象的名字

  注册条目

  无需注册

  例子

  以下例子给出如何用浏览器性能组件取得当前浏览器一些属性。

<% Set bc = Server.CreateObject("MSWC.BrowserType") %>
<table border=1>
<tr><td>Browser</td><td> <%= bc.browser %> </td></TR>
<tr><td>Version</td><td> <%= bc.version %> </td></TR>
<tr><td>Frames</td><td>
<% if (bc.frames = TRUE) then %> TRUE
<% else %> FALSE
<% end if %> </td></TR>
<tr><td>Tables</td><td>
<% if (bc.tables = TRUE) then %> TRUE
<% else %> FALSE
<% end if %> </td></TR>
<tr><td>BackgroundSounds</td><td>
<% if (bc.BackgroundSounds = TRUE) then %> TRUE
<% else %> FALSE
<% end if %> </td></TR>
<tr><td>VBScript</td><td>
<% if (bc.vbscript = TRUE) then %> TRUE
<% else %> FALSE
<% end if %> </td></TR>
<tr><td>JScript</td><td>
<% if (bc.javascript = TRUE) then %> TRUE
<% else %> FALSE
<% end if %> </td></TR>
</table>

  Browscap.ini文件

  你可以在Browscap.ini文件中描述任意多个浏览器的属性。你也可以设置一套默认属性,当浏览器发送的报头无法和Browscap.ini中的任何条目匹配时,浏览器类型(BrowerType)对象会假设该浏览器具备默认的属性。

  每个浏览器定义由一个HTTP报头、一些属性名以及相关属性值构成。关于各种浏览器的HTTP报头的定义可参考[link]http://www.w3.org/[/link]网站中的内容。

  语法

[; comments]
[HTTPUserAgentHeader]
[parent = browserDefinition]
[property1 = value1]
...
[propertyN = valueN]

[Default Browser Capability Settings]
[defaultProperty1 = defaultValue1]
...
[defaultPropertyN = defaultValueN]


  参数

  comments

  注释,以;开头的任意多行

  HTTPUserAgentHeader

  HTTP用户代理报头,类似于以下格式[Mozilla/2.0 (compatible; MSIE 3.0;* Windows 95)],其中可以使用通配符*。

  browserDefinition

  用以定义父类的HTTP报头

  propertyN

  浏览器的属性名,可从属性列表中选取所需的属性(详细列表见附录)

  valueN

  浏览器的属性值

  defaultPropertyN

  默认浏览器的属性名,可选属性同propertyN

  defaultValueN

  默认浏览器的属性值

  例子

;;ie 4.0
[IE 4.0]
browser=IE
Version=4.0
frames=TRUE
tables=TRUE
cookies=TRUE
backgroundsounds=TRUE
vbscript=TRUE
javascript=TRUE
javaapplets=True
ActiveXControls=TRUE
beta=False

;;ie 4.01
[Mozilla/2.0 (compatible; MSIE 4.01*; Windows 95)]
parent=IE 4.0
version=4.01
minorver=01
platform=Win95

; Default Browser
[Default Browser Capability Settings]
browser=Default
frames=FALSE
tables=TRUE
cookies=FALSE
backgroundsounds=FALSE
vbscript=FALSE
javascript=FALSE

  附录——浏览器属性列表

属性名描述
ActiveXControls指定浏览器是否支持ActiveX控件
backgroundsounds指定浏览器是否支持背景音乐
beta 指定浏览器是否是测试版
browser 指定浏览器的名字
cdf指定浏览器是否支持Web发布的频道解释定义(Channel Definition Format)
cookies指定浏览器是否支持cookies
frames指定浏览器是否支持帧显示
Javaapplets指定浏览器是否支持Java applets
javascript指定浏览器是否支持Javascript
platform指定浏览器运行所需的操作系统
tables指定浏览器是否支持表格
vbscript指定浏览器是否支持vbscript
version指定浏览器的版本

注:以上解释内容为“指定浏览器是否支持”开头的属性,其属性值应为True/False,其余为字符串