使用浏览器能力检测组件的一个实例

这部分介绍一些这个组件所可能的应用。这个例子不仅是说明怎样使用，也提出了它的一些局限。

在例子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范围内创建一个组件事例。最后是一个有关浏览器能力检测组件的例子应用，这个例子也说明了该组件的局限所在。