ASP编程入门进阶(十四):Browser & Linking

时间:2021-05-28

一、Browser Capabilities组件

该组件最主要的作用是:提取识别客户端浏览器的版本信息。

其原理是这样的:当客户端浏览器向服务器发送页面请求时,同时会自动发送一个User Agent HTTP标题,而该标题是一个声明浏览器及其版本的 ASCII 字符串。而Browser Capabilities组件就将User Agent映射到在文件Browscap.ini中所注明的浏览器 , 并通过BrowserType对象的属性来识别客户浏览器。

若该对象在 browscap.ini 文件中找不到与该标题匹配的项,那么将使用默认的浏览器属性。若该对象既未找到匹配项且 browscap.ini 文件中也未指定默认的浏览器设置,则它将每个属性都设为字符串 "UNKNOWN"。

在默认情况下,browscap.ini文件被存放在 WINDOWS\SYSTEM\INERSRV( 如果是95/98+PWS4) 或 NT\SYSTEM32\INERSRV( 如果是 NT) 目录中,你可以自己编辑这个文本文件,以添加自己的属性或者根据最新发布的浏览器版本的更新文件来修改该文件。

可以得出结论,Browser Capabilities组件也就是提取某个文件中的内容,然后比较得出显示。具体该如何应用呢?

1,btinfo.asp

<%set bc=server.CreateObject("mswc.browsertype")%>
浏览器名称是browser:<%=bc.browser%><br>
浏览器版本是version:<%=bc.version%> <br>
浏览器主版本是majorver:<%=bc.majorver%> <br>
浏览器辅版本是minorver:<%=bc.minorver%> <br>
浏览器的运行平台是platform:<%=bc.platform%> <br>


很显然“<%set bc=server.CreateObject("mswc.browsertype")%> ”就是进行的浏览器组件的建立
以下诸如“bc.browser”之类即为显示浏览器的具体某个特性了。

2,btif.asp

<%set bc=server.CreateObject("mswc.browsertype")%>
<%if bc.frames=true then%>
浏览器支持多窗口(frames)显示
<%else%>
浏览器不支持多窗口(frames)显示
<%end if%>
<br>
<%if bc.backgroundsounds=true then%>
浏览器可以播放背景音乐(backgroundsounds)
<%else%>
浏览器不能播放背景音乐(backgroundsounds)
<%end if%>
<br>
<%if bc.tables=true then%>
浏览器支持表格(tables)显示
<%else%>
浏览器不支持表格(tables)显示
<%end if%>
<br>
<%if bc.beta=true then%>
你的浏览器是一测试版(beta)
<%else%>
你的浏览器是一正式版
<%end if%>
<br>
<%if bc.activexcotrols=true then %>
浏览器支持active控制
<%else%>
浏览器不支持active控制
<%end if%>
<br>
<%if bc.cookies=true then%>
浏览器支持cookie功能
<%else%>
浏览器不支持cookie功能
<%end if%>
<br>
<%if bc.vbscript=true then%>
浏览器支持vbscript
<%else%>
浏览器不支持vbscript
<%end if%>
<br>
<%if bc.jscript=true then%>
浏览器支持jscript
<%else%>
浏览器不支持jscript
<%end if%>


该代码则是检测当前浏览器对各类网页技术的支持情况,那下面就可以根据某特定情况做相应变动

3,fram.asp

<%set bc=server.CreateObject("mswc.browsertype")
if bc.frames then
%>
<frameset rows="*,*">
<frame src="http://


该目录文件的网址就是连接网址,文本就是连接文本了,需要注意的是中间采用Tab键进行分隔。

2,link.asp

<%Set objNextLink = Server.CreateObject("MSWC.Nextlink")%>
<%
intCount = objNextLink.GetListCount("link.txt")
For i = 1 To intCount
%>
<a href="<%=objNextLink.GetNthURL("link.txt", i) %>">
<%=objNextLink.GetNthDescription("link.txt", i) %>
</a>
<br>
<%Next%>


“Set objNextLink = Server.CreateObject("MSWC.Nextlink")”建立Nextlink组件的连接
“objNextLink.GetListCount("link.txt")”提取link.txt文件中的列表数目
“objNextLink.GetNthURL("link.txt",i)”提取link.txt文件中第i行文本的连接网址
“objNextLink.GetNthDescription("link.txt",i)”提取link.txt文件中第i行文本的连接文本

3,redirect.asp
也就是转向文件了。

<%
Response.Clear
Response.Redirect Request.QueryString("url")
%>


呵呵,是不是觉得还没用到“上一页”、“下一页”的功能。再来~!

4,link1.txt

1.aspASP编程入门进阶(一)
2.aspASP编程入门进阶(二)
3.aspASP编程入门进阶(三)
4.aspASP编程入门进阶(四)


主要功能是设置文本和连接

5,link1.inc

<%Set Nextlink=Server.CreateObject("MSWC.NextLink")
Response.write "当前文章索引号为" & NextLink.GetListIndex("link1.txt") & "<br>"
Response.write "上一章的标题:" & NextLink.GetPreviousDescription("link1.txt") & "<br>"
Response.write "下一章的标题:" & NextLink.GetNextDescription("link1.txt") & "<br>"
count = NextLink.GetListCount("link1.txt")
Response.write "<a href="""&NextLink.GetNthUrl("link1.txt",1)&"""&>"&"第一章"&"</a> "
Response.write "<a href="""&NextLink.GetPreviousUrl("link1.txt")&"""&>"&"上一章"&"</a> "
Response.write "<a href="""&NextLink.GetNextUrl("link1.txt")&"""&>"&"下一章"&"</a> "
Response.write "<a href="""&NextLink.GetNthUrl ("link1.txt",count)&"""&>"&"最后一章"&"</a><br>"
%>



GetListCount(目标文件名) 显示组件中包含的连接的文件数目。
GetListIndex(目标文件名) 显示当前页在这些连接文件中的前后位置索引值。
GetNextDescription(目标文件名) 显示连接文件中下一个的描述。
GetNextURL(目标文件名) 显示连接文件中的下一个文件的URL地址。
GetNthDescription(目标文件名, N) 显示连接文件中第N个网页的描述。
GetNthURL(目标文件名, N) 显示连接文件中第N个网页的文件URL地址。
GetPreviousDescription(目标文件名) 显示连接文件中前一个文件的描述。
GetPreviousURL(目标文件名) 显示连接文件中前一个文件的URL地址。



6,1.asp,2.asp,3.asp,4.asp


<!--#include file="link1.inc"--><br>
以下是具体内容


着就是一个很简单的分页程序了。当然接着的后面会有些更详细更复杂的分页,慢慢来吧,呵呵。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章