使用浏览器能力检测组件的一个实例
这部分介绍一些这个组件所可能的应用。这个例子不仅是说明怎样使用,也提出了它的一些局限。
在例子18.1中显示的,浏览器能力检测组件被用来检测浏览器是否可以使用分屏方式,如果可以,那么就显示一个分屏方式的主页,否则用户将被警告并被建议使用新版本的浏览器。
例子18.1 CheckFrames.asp
<%
Set MyBrow=Server.CreateObject(
“MSWC.BrowserType”)IF MyBrow.Frames THEN
%>
<HTML>
<HEAD><TITLE>分屏方式示例</TITLE></HEAD>
<FRAMESET COLS=
”100,*”><FRAME SRC=
”Menu.asp”><FRAME SRC=
”Body.asp”></FRAMESET>
</HTML>
<% ELSE %>
<HTML>
<HEAD><TITLE>无分屏之界面</TITLE></HEAD>
<BODY>
我们发现您的浏览器不能支持分屏方式,
您正在使用<%=MyBrow.browser %>浏览器(版本<%=MyBrow.version %>)。
你应当下载最新版本的浏览器,这里推荐访问:
<p><a href=
”www.netscape.com”>网景公司</a><p>或者
<p><a href=
”www.microsoft.com”>微软公司</a></body>
</html>
<% END IF %>
这个Active Server Pages文件就会根据条件显示两个不同的页面,如果浏览器能力检测组件认为用户的浏览器可以适用分屏,那么就显示分屏模式的页面,否则就显示警告信息,并推荐用户下载新版本的浏览器。请主义在第二个界面中还包括了用户浏览器类型和版本信息。这个例子并没有指出哪些浏览器是可以用的,不过该组件也确实不是用于这种目的,不过这样会带来很多讨厌的问题。
一个很头疼的问题是,即使用户用非常新版本的浏览器,(很可能是太新的版本),由于服务端的ini文件中还没有收录它的信息,那么就会显示第二页,如下面显示结果(图18.3)。
图18.3 显示结果
没办法,浏览器能力检测组件没有判断出这个最新版本,那么脾气不好的访问者也许要骂人了。这种缺点主要还是因为ini文件更新的速度跟不上,而且现在新技术、新版本的推出速度实在是越来越快。那么,尽可能的,应当去选用HTML自己的判断手段,例如,对于同样目的,有一个非常简单的方式就是使用<NOFRAMES>标记,在第7章中有很多类似的方法介绍。
总结
在这章中,你应当学会了怎样将ActiveX组件结合到Active Server Pages中,同时 学会分别在页面范围内、Session范围内、application范围内创建一个组件事例。最后是一个有关浏览器能力检测组件的例子应用,这个例子也说明了该组件的局限所在。