分享
 
 
 

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

王朝asp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

作者:cnbruce 转贴自:5D多媒体

一、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://www.google.com">

<frame src="http://www.baidu.com">

</framest>

<%else%>

你的浏览器不支持框架

<%end if%>

很简单的意思:如果当前浏览器支持框架则进行frameset的显示,否则提示“你的浏览器不支持框架”

当然,需要提醒你的:不要过分依赖该组件,因为其只是提取browscap.ini里的值,而该值随时可以被客户修改,或者记录过时,不能真实反映到浏览器的情况,慎用之。

二、Content Linking组件

曾经用DW做网页都有这样一个烦恼:新做了页面,其它所有相关的页都要重新再做一次超级链接。一次也就罢了,多了多了不禁觉得无用功做了不少。试想如果能有一个专门的文件来负责页面的连接那该多好。

Content Linking 组件也就应运而生了。它非但可以使你在这些页面中建立一个目录表,而且还可以在它们中间建立动态连接,并自动生成和更新目录表及先前和后续的 Web 页的导航链接。

使用该组件,首先需要编写一个目录文件,也就是网页网址的顺序列表文件,它是一个文本文件,可以自由命名。其次,编写一个ASP文件,根据目录文件提供的信息自动生成带超链的目录页。如果需要在每一页上假如“向前或向后翻页”的超链,就再编写一个能自动生成翻页超链的包含文件,可使用inc为扩展名,例如"Nlink.inc"。以后,在组内每一页中包含它。

1,link.txt

redirect.asp?url=http://www.cnbruce.com/ cnbruce.com

redirect.asp?url=http://www.blueidea.com/ blueidea.com

redirect.asp?url=http://www.it365cn.com/ it365cn.com

该目录文件的网址就是连接网址,文本就是连接文本了,需要注意的是中间采用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.asp ASP编程入门进阶(一)

2.asp ASP编程入门进阶(二)

3.asp ASP编程入门进阶(三)

4.asp ASP编程入门进阶(四)

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

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>

以下是具体内容

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

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有