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

2018-09-06 12:32

阅读:456

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

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

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

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

如果找到匹配的条目,浏览器类型(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]网站中的内容。

语法

[; 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,其余为字符串


评论


亲,登录后才可以留言!