ASP編程入門進(jìn)階(十四):Browser & Linking
更新時(shí)間:2007年01月03日 00:00:00 作者:
一、Browser Capabilities組件
該組件最主要的作用是:提取識別客戶端瀏覽器的版本信息。
其原理是這樣的:當(dāng)客戶端瀏覽器向服務(wù)器發(fā)送頁面請求時(shí),同時(shí)會(huì)自動(dòng)發(fā)送一個(gè)User Agent HTTP標(biāo)題,而該標(biāo)題是一個(gè)聲明瀏覽器及其版本的 ASCII 字符串。而Browser Capabilities組件就將User Agent映射到在文件Browscap.ini中所注明的瀏覽器 , 并通過BrowserType對象的屬性來識別客戶瀏覽器。
若該對象在 browscap.ini 文件中找不到與該標(biāo)題匹配的項(xiàng),那么將使用默認(rèn)的瀏覽器屬性。若該對象既未找到匹配項(xiàng)且 browscap.ini 文件中也未指定默認(rèn)的瀏覽器設(shè)置,則它將每個(gè)屬性都設(shè)為字符串 "UNKNOWN"。
在默認(rèn)情況下,browscap.ini文件被存放在 WINDOWS\SYSTEM\INERSRV( 如果是95/98+PWS4) 或 NT\SYSTEM32\INERSRV( 如果是 NT) 目錄中,你可以自己編輯這個(gè)文本文件,以添加自己的屬性或者根據(jù)最新發(fā)布的瀏覽器版本的更新文件來修改該文件。
可以得出結(jié)論,Browser Capabilities組件也就是提取某個(gè)文件中的內(nèi)容,然后比較得出顯示。具體該如何應(yīng)用呢?
1,btinfo.asp
很顯然“<%set bc=server.CreateObject("mswc.browsertype")%> ”就是進(jìn)行的瀏覽器組件的建立
以下諸如“bc.browser”之類即為顯示瀏覽器的具體某個(gè)特性了。
2,btif.asp
該代碼則是檢測當(dāng)前瀏覽器對各類網(wǎng)頁技術(shù)的支持情況,那下面就可以根據(jù)某特定情況做相應(yīng)變動(dòng)
3,fram.asp
很簡單的意思:如果當(dāng)前瀏覽器支持框架則進(jìn)行frameset的顯示,否則提示“你的瀏覽器不支持框架”
當(dāng)然,需要提醒你的:不要過分依賴該組件,因?yàn)槠渲皇翘崛rowscap.ini里的值,而該值隨時(shí)可以被客戶修改,或者記錄過時(shí),不能真實(shí)反映到瀏覽器的情況,慎用之。
二、Content Linking組件
曾經(jīng)用DW做網(wǎng)頁都有這樣一個(gè)煩惱:新做了頁面,其它所有相關(guān)的頁都要重新再做一次超級鏈接。一次也就罷了,多了多了不禁覺得無用功做了不少。試想如果能有一個(gè)專門的文件來負(fù)責(zé)頁面的連接那該多好。
Content Linking 組件也就應(yīng)運(yùn)而生了。它非但可以使你在這些頁面中建立一個(gè)目錄表,而且還可以在它們中間建立動(dòng)態(tài)連接,并自動(dòng)生成和更新目錄表及先前和后續(xù)的 Web 頁的導(dǎo)航鏈接。
使用該組件,首先需要編寫一個(gè)目錄文件,也就是網(wǎng)頁網(wǎng)址的順序列表文件,它是一個(gè)文本文件,可以自由命名。其次,編寫一個(gè)ASP文件,根據(jù)目錄文件提供的信息自動(dòng)生成帶超鏈的目錄頁。如果需要在每一頁上假如“向前或向后翻頁”的超鏈,就再編寫一個(gè)能自動(dòng)生成翻頁超鏈的包含文件,可使用inc為擴(kuò)展名,例如"Nlink.inc"。以后,在組內(nèi)每一頁中包含它。
1,link.txt
該目錄文件的網(wǎng)址就是連接網(wǎng)址,文本就是連接文本了,需要注意的是中間采用Tab鍵進(jìn)行分隔。
2,link.asp
“Set objNextLink = Server.CreateObject("MSWC.Nextlink")”建立Nextlink組件的連接
“objNextLink.GetListCount("link.txt")”提取link.txt文件中的列表數(shù)目
“objNextLink.GetNthURL("link.txt",i)”提取link.txt文件中第i行文本的連接網(wǎng)址
“objNextLink.GetNthDescription("link.txt",i)”提取link.txt文件中第i行文本的連接文本
3,redirect.asp
也就是轉(zhuǎn)向文件了。
呵呵,是不是覺得還沒用到“上一頁”、“下一頁”的功能。再來~!
4,link1.txt
主要功能是設(shè)置文本和連接
5,link1.inc
6,1.asp,2.asp,3.asp,4.asp
著就是一個(gè)很簡單的分頁程序了。當(dāng)然接著的后面會(huì)有些更詳細(xì)更復(fù)雜的分頁,慢慢來吧,呵呵。
該組件最主要的作用是:提取識別客戶端瀏覽器的版本信息。
其原理是這樣的:當(dāng)客戶端瀏覽器向服務(wù)器發(fā)送頁面請求時(shí),同時(shí)會(huì)自動(dòng)發(fā)送一個(gè)User Agent HTTP標(biāo)題,而該標(biāo)題是一個(gè)聲明瀏覽器及其版本的 ASCII 字符串。而Browser Capabilities組件就將User Agent映射到在文件Browscap.ini中所注明的瀏覽器 , 并通過BrowserType對象的屬性來識別客戶瀏覽器。
若該對象在 browscap.ini 文件中找不到與該標(biāo)題匹配的項(xiàng),那么將使用默認(rèn)的瀏覽器屬性。若該對象既未找到匹配項(xiàng)且 browscap.ini 文件中也未指定默認(rèn)的瀏覽器設(shè)置,則它將每個(gè)屬性都設(shè)為字符串 "UNKNOWN"。
在默認(rèn)情況下,browscap.ini文件被存放在 WINDOWS\SYSTEM\INERSRV( 如果是95/98+PWS4) 或 NT\SYSTEM32\INERSRV( 如果是 NT) 目錄中,你可以自己編輯這個(gè)文本文件,以添加自己的屬性或者根據(jù)最新發(fā)布的瀏覽器版本的更新文件來修改該文件。
可以得出結(jié)論,Browser Capabilities組件也就是提取某個(gè)文件中的內(nèi)容,然后比較得出顯示。具體該如何應(yīng)用呢?
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> 瀏覽器的運(yùn)行平臺是platform:<%=bc.platform%> <br> |
很顯然“<%set bc=server.CreateObject("mswc.browsertype")%> ”就是進(jìn)行的瀏覽器組件的建立
以下諸如“bc.browser”之類即為顯示瀏覽器的具體某個(gè)特性了。
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%> |
該代碼則是檢測當(dāng)前瀏覽器對各類網(wǎng)頁技術(shù)的支持情況,那下面就可以根據(jù)某特定情況做相應(yīng)變動(dòng)
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%> |
很簡單的意思:如果當(dāng)前瀏覽器支持框架則進(jìn)行frameset的顯示,否則提示“你的瀏覽器不支持框架”
當(dāng)然,需要提醒你的:不要過分依賴該組件,因?yàn)槠渲皇翘崛rowscap.ini里的值,而該值隨時(shí)可以被客戶修改,或者記錄過時(shí),不能真實(shí)反映到瀏覽器的情況,慎用之。
二、Content Linking組件
曾經(jīng)用DW做網(wǎng)頁都有這樣一個(gè)煩惱:新做了頁面,其它所有相關(guān)的頁都要重新再做一次超級鏈接。一次也就罷了,多了多了不禁覺得無用功做了不少。試想如果能有一個(gè)專門的文件來負(fù)責(zé)頁面的連接那該多好。
Content Linking 組件也就應(yīng)運(yùn)而生了。它非但可以使你在這些頁面中建立一個(gè)目錄表,而且還可以在它們中間建立動(dòng)態(tài)連接,并自動(dòng)生成和更新目錄表及先前和后續(xù)的 Web 頁的導(dǎo)航鏈接。
使用該組件,首先需要編寫一個(gè)目錄文件,也就是網(wǎng)頁網(wǎng)址的順序列表文件,它是一個(gè)文本文件,可以自由命名。其次,編寫一個(gè)ASP文件,根據(jù)目錄文件提供的信息自動(dòng)生成帶超鏈的目錄頁。如果需要在每一頁上假如“向前或向后翻頁”的超鏈,就再編寫一個(gè)能自動(dòng)生成翻頁超鏈的包含文件,可使用inc為擴(kuò)展名,例如"Nlink.inc"。以后,在組內(nèi)每一頁中包含它。
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 |
該目錄文件的網(wǎng)址就是連接網(wǎng)址,文本就是連接文本了,需要注意的是中間采用Tab鍵進(jìn)行分隔。
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文件中的列表數(shù)目
“objNextLink.GetNthURL("link.txt",i)”提取link.txt文件中第i行文本的連接網(wǎng)址
“objNextLink.GetNthDescription("link.txt",i)”提取link.txt文件中第i行文本的連接文本
3,redirect.asp
也就是轉(zhuǎn)向文件了。
<% Response.Clear Response.Redirect Request.QueryString("url") %> |
呵呵,是不是覺得還沒用到“上一頁”、“下一頁”的功能。再來~!
4,link1.txt
1.asp ASP編程入門進(jìn)階(一) 2.asp ASP編程入門進(jìn)階(二) 3.asp ASP編程入門進(jìn)階(三) 4.asp ASP編程入門進(jìn)階(四) |
主要功能是設(shè)置文本和連接
5,link1.inc
<%Set Nextlink=Server.CreateObject("MSWC.NextLink") Response.write "當(dāng)前文章索引號為" & NextLink.GetListIndex("link1.txt") & "<br>" Response.write "上一章的標(biāo)題:" & NextLink.GetPreviousDescription("link1.txt") & "<br>" Response.write "下一章的標(biāo)題:" & 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(目標(biāo)文件名) 顯示組件中包含的連接的文件數(shù)目。 GetListIndex(目標(biāo)文件名) 顯示當(dāng)前頁在這些連接文件中的前后位置索引值。 GetNextDescription(目標(biāo)文件名) 顯示連接文件中下一個(gè)的描述。 GetNextURL(目標(biāo)文件名) 顯示連接文件中的下一個(gè)文件的URL地址。 GetNthDescription(目標(biāo)文件名, N) 顯示連接文件中第N個(gè)網(wǎng)頁的描述。 GetNthURL(目標(biāo)文件名, N) 顯示連接文件中第N個(gè)網(wǎng)頁的文件URL地址。 GetPreviousDescription(目標(biāo)文件名) 顯示連接文件中前一個(gè)文件的描述。 GetPreviousURL(目標(biāo)文件名) 顯示連接文件中前一個(gè)文件的URL地址。 |
6,1.asp,2.asp,3.asp,4.asp
<!--#include file="link1.inc"--><br> 以下是具體內(nèi)容 |
著就是一個(gè)很簡單的分頁程序了。當(dāng)然接著的后面會(huì)有些更詳細(xì)更復(fù)雜的分頁,慢慢來吧,呵呵。
您可能感興趣的文章:
- VS2013連接MySQL5.6成功案例一枚
- VS2013設(shè)置護(hù)眼背景顏色
- asp.net“服務(wù)器應(yīng)用程序不可用” 解決方法
- ASP.NET對路徑"xxxxx"的訪問被拒絕的解決方法小結(jié)
- asp.net+FCKeditor上傳圖片顯示叉叉圖片無法顯示的問題的解決方法
- asp.net iis 無法顯示網(wǎng)頁的解決方法分析
- 無法識別的屬性“type”+IIS沒有Asp.net配置選項(xiàng)的解決方法
- Sql server 2005安裝時(shí)ASP.Net版本注冊要求警告的解決方法
- ASP.NET State service狀態(tài)服務(wù)的問題解決方法
- VS2013的Browser Link引起的問題
相關(guān)文章
ServerVariables集合檢索預(yù)定的環(huán)境變量
ServerVariables集合檢索預(yù)定的環(huán)境變量...2007-02-02查看所有的Server Variables的環(huán)境變量
查看所有的Server Variables的環(huán)境變量...2007-02-02如何在數(shù)據(jù)庫中用好Transaction?
如何在數(shù)據(jù)庫中用好Transaction?...2006-06-06ASP編程入門進(jìn)階(十六):FSO組件之驅(qū)動(dòng)器操作
ASP編程入門進(jìn)階(十六):FSO組件之驅(qū)動(dòng)器操作...2007-01-01用Asp如何實(shí)現(xiàn)防止網(wǎng)頁頻繁刷新?
用Asp如何實(shí)現(xiàn)防止網(wǎng)頁頻繁刷新?...2006-12-12