网站首页/技术开发列表/内容

浏览器性能组件

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

  
Browser Capabilities Component——浏览器性能组件


  浏览器性能组件创建一个浏览器类型(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,其余为字符串 

……

相关阅读