亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

淺析ASP內置組件

2019-11-18 19:40:12
字體:
來源:轉載
供稿:網友

  本文的內容是使用asp的ActiveX Server Components(組件)。

  一、 Browser Capabilities Component(瀏覽器能力組件):

  我們知道,不同的瀏覽器也許支持不同的功能,如有些瀏覽器支持框架,有些不支持。利用這個組件,可以檢查瀏覽器的能力,使你的網頁爭對不同的瀏覽器顯示不同的頁面(如對不支持Frame的瀏覽器顯示不含Frame的網頁)。 該組件的使用很簡單,需注意的是,要正確使用該組件,必須保證Browscap.ini文件是最新的(其實每一個瀏覽器及其特性都列在這個文件中,自己打開看看就明白了),否則結果可能相去甚遠,如Win98第二版所帶的IE5.0,在下例中顯示為Netscape。這個文件一般位于Web服務器的“/Winnt/System32/InetSrv”下,最新的版本可去http://www.asptracker.com/http://www.cyscape.com/browscap下載。

  例:wuf22.asp

<html>
<BODY>
‘注意:組件的使用與對象類似,但是組件在使用前必須先創建,而使用內置對象前不必創建。
<%Set BrowsCap=Server.CreateObject("MSWC.BrowserType")%>
請稍候......
<P>
<TABLE BORDER=1 CELLPADDING=10>
<TR><TD>瀏覽器類型</TD><TD><%=BrowsCap.Browser%></TD></TR>
<TR><TD>瀏覽器版本</TD><TD><%=BrowsCap.version%></TD></TR>
<TR><TD>是否支持表格</TD><TD><%=BrowsCap.tables%></TD></TR>
<TR><TD>是否支持ActiveX控件</TD><TD><%=BrowsCap.activexcontrols%></TD></TR>
<TR><TD>是否支持javaApplets</TD><TD><%=BrowsCap.javaapplets%></TD></TR>
<TR><TD>是否支持JavaScript</TD><TD><%=BrowsCap.Javascript%></TD></TR>
<TR><TD>是否支持Cookies</TD><TD><%=BrowsCap.Cookies%></TD></TR>
<TR><TD>是否支持Frames</TD><TD><%=BrowsCap.Frames%></TD></TR>
<TR><TD>操作系統</TD><TD><%=BrowsCap.Platform%></TD></TR>
<TR><TD>是否支持VBScript</TD><TD><%=BrowsCap.vbscript%></TD></TR>
</TABLE>
<%Set BrowsCap = Nothing%>
</BODY>
</HTML>

  注意:在本例中我們也接觸了Server對象的CreateObject方法,Server.CreateObject用于創建已經注冊到服務器上的ActiveX組件(說明:還有其他方法可以創建組件)。不過別忘了用“Set 對象 = Nothing”來及時釋放資源,這應該成為一個習慣。

  二、File access組件

  File Access組件由FileSystemObject對象和TextStream對象組成,使用FileSystemObject對象,可以建立、檢索、刪除目錄及文件,而TextStream對象則提供讀寫文件的功能。

  實例wuf23.asp。強調:只有通過實踐才能加深理解,實踐和比較程序運行結果是快速掌握編程技巧的最好方法。

<%@ Language=VBScript %>
<% Option Explicit
' 注意絕對路徑: C:/Inetpub/home/asp/wuf23.asp 主頁路徑: C:/Inetpub/home
Dim Path, File, fso, CTF, Str, StrHTML, StrNoHTML

'使用 CreateObject 方法創建 FileSystemObject 對象 FSO
Set FSO = Server.CreateObject("Scripting.FileSystemObject")

Path = Server.MapPath("test") '返回test的物理目錄(絕對路徑)
'就本例而言, 下面這句與上面這句返回的Path完全一樣
'Path = Server.MapPath("/asp/test/")
Response.Write Path & "<Br>"

If FSO.FolderExists(Path) = false then '判斷該文件夾是否存在
FSO.CreateFolder(Path) '新建文件夾
End If

File = Path & "/asptest.txt"
' 寫文件操作
If FSO.FileExists(File) = True Then '判斷該文件是否存在
'建立 TextStream 對象 CTF
Set CTF = FSO.OpenTextFile(File, 8, False, 0) '打開文件, 詳見說明
Else
Set CTF = FSO.CreateTextFile(File,False, False) '新建文件
End If
CTF.Write "<P>第一個字符串; " '寫字符串
CTF.WriteLine "第二個字符串; " '寫字符串, 并加上一個換行符
CTF.Write "第三個字符串; "
CTF.Close '注意要關閉文件

' 讀文件操作
Set CTF = FSO.OpenTextFile(File, 1,,0)
Do While CTF.AtEndOfStream <> True '判別是否文件結尾(循環語句)
Str = CTF.ReadLine '(每次)讀取一行
StrNoHTML = StrNoHTML & Str & "<BR>" & VbCrLf
StrHTML = StrHTML & Server.HTMLEncode(Str) & "<BR>" & VbCrLf
Loop
Response.Write StrNoHTML
Response.Write StrHTML

CTF.Close
Set CTF = Nothing '釋放對象
Set FSO = Nothing
%>

  CTF = FSO.OpenTextFile(File, 8, False, 0),括號內第一個參數為文件名;第二個參數為8,表示在原文件后追加內容,若為1表示只讀,為2則會重寫原文件;第三個參數false表示,若指定文件不存在,也不新建文件,若為True,表示指定文件不存在,則新建該文件;第四個參數0表示以ASCII文件格式打開,若為-2,則表示以原來的格式打開。

  CTF = FSO.CreateTextFile(File,False, False),第二個參數false表示不覆蓋已有文件,若為True,則表示覆蓋(OverWrite)已有文件;第三個參數為False表示文件格式為ASCII,為True表示文件格式為Unicode。

  Server對象的MapPath方法將指定的虛擬路徑轉換為真實的文件路徑。MapPath將“/”和“/”字符視為相同。

  Server對象的HTMLEncode方法允許你對特定的字符串進行HTML編碼,或者說使瀏覽器中可以正確顯示特定的字符。上例中,若未編碼,則“<P>”顯示不出來,而是被瀏覽器作為HTML標記,你可以對比一下運行結果。

  實際上,File Access組件對文件、文件夾和驅動器的操作還是比較強大的,也提供了較多的方法,如果需要用到這方面的知識,別忘了使用它。

  另外,到現在為止,寫一個網頁計數器已經是小菜一碟了吧,難怪那么多的網頁提供免費計數器。怎么樣?自己寫一個圖形計數器試試看,想怎么作弊就怎么作弊,完全自己說了算,爽呆?。ㄐ∶孛埽何业闹黜撋嫌袑嵗齱uf24.asp)

  三、 AD Rotator(廣告翻轉組件)

  現在上網,恐怕最討厭的是別人主頁上的廣告條,最喜歡的是自己主頁上的廣告條,廣告條如同垃圾郵件一樣,比比皆是,防不勝防。你也可以自己動手制造這樣的垃圾,ASP的AD Rotator組件就可使每次打開或者重新加載網頁時,隨機的顯示廣告。這個例子包括三部分:

  例程wuf25.asp

<%@ Language=VBScript %>
<% Option Explicit
Dim adr
'創建 AD Rotator 對象
Set adr = Server.CreateObject("MSWC.AdRotator")
adr.Border = 2 '指定圖形文件的邊框大小
adr.Clickable = True '指示顯示的圖片是否是一個超鏈接
adr.TargetFrame = "_blank" '設置超鏈接是否要指定Frame名稱,如: _TOP _NEW _PARENT
'獲取將要顯示的圖片及超鏈接設置 - 在文件 AdrSet.txt 中設置
Response.Write adr.GetAdvertisement("AdrSet.txt")
%>
AdrSet.txt內容(后面為注釋,不是這個文件的內容):
REDIRECT wuf26.asp 點擊廣告后,轉由wuf26.asp來處理
WIDTH 468 廣告圖片寬度
HEIGHT 60 廣告圖片高度
* 分隔符
http://www.soyou.com/PRog/ad/468x60_1.gif 廣告圖片所在位置,也可為本地圖形文件
http://www.163.com/ 指向鏈接,若沒有超鏈接,寫入一個“-”
網易 文字說明
20 顯示該廣告的相對權重,即顯示頻率
http://fp.cache.imgis.com/images/Ad173962St1Sz1Sq1Id2.gif
http://www.sina.com.cn/
新浪網
30
http://61.139.77.73/images/canon.gif 也可以使用本地圖片,如../images/flag.gif
http://www.canon.com.cn/
佳能
50

  本例中一共有三個圖片(圖片大小468X60)及鏈接,每個鏈接的描述占四行,實際使用時,你可如法炮制,增加更多的圖片。

<% ‘wuf26.asp
URL = Request.QueryString("url")
Response.Redirect(URL)
%>

  wuf26.asp是一個最簡單的處理程序,你可根據實際需要在這里加入更多的代碼。
運行一下,原來這個組件的使用也很簡單,你要做的就是得到自己的AdrSet.txt文件。利用這個組件,你甚至可以設計一個現在已非常時髦的廣告交換主頁。

  四、 Content Linking組件

  顯然這個組件與鏈接有關系,如果想馬上知道這個組件的具體用途,恐怕還操之過急,不妨先引用一個經典的例子:假設在網上閱讀一本書,你對以下這些鏈接一定不會陌生:第1章、第2章、…、上一章、下一章(或前一頁、后一頁)等等。我們現在要做的就是如何在這些鏈接之間方便快速地設置跳轉。

  首先建一個鏈接列表文本文件,如urllist.txt

wuf23.asp :文件操作(File Access組件)
wuf28.asp :Content Linking組件使用示例
wuf22.asp :瀏覽器能力組件

  鏈接url地址和描述之間用 Tab 鍵分隔。下面wuf27.asp用來列出urllist.txt中的所有鏈接。

<% @LANGUAGE = VBScript %>
<% Option Explicit %>
<html><head><title>Content Linking組件使用</title></head>
<body>
<h2>目錄列表: 注意核心鏈接是第2章, 你一定要點擊它</h2>
<ul>
<%
Dim NextLink, Count
'建立 Content Linking 組件
Set NextLink = Server.CreateObject("MSWC.NextLink")

'獲取文件 urllist.txt 中鏈接數目
Count = NextLink.GetListCount("urllist.txt")

Dim url, Dscr, I
For I = 1 To Count
url = NextLink.GetNthURL ("urllist.txt", I) '取得超鏈接
Dscr = NextLink.GetNthDescription ("urllist.txt", I) '取得文字描述
Response.Write "<li><a href = """ & url & """>" & Dscr & "</a>" & vbcrlf
Next
%>
</ul></body></html>

  然后,以wuf28.asp為例說明如何自動實現上一章和下一章跳轉。

<% @LANGUAGE = VBScript %>
<% Option Explicit %>
<html><head><title>這個鏈接要注意</title></head>
<body>

<p>這里是第 2 章的正文............</p>

<% '每個文件都包含下面這句, 就實現了自動鏈接%>
<!--#include file="wuf29.asp"-->
</body></html>

  這里最后一句加上去就可以實現自動跳轉,核心在wuf29.asp中。

<%
Dim NextLink, rank
Set NextLink = Server.CreateObject ("MSWC.NextLink")
'當前的鏈接在 urllist.txt 中位于第幾個
rank = NextLink.GetListIndex ("urllist.txt")
Response.Write "<hr>"

If (rank > 1) Then 'rank = 1 不存在前一頁
Response.Write "|<a href=""" & NextLink.GetPreviousURL("urllist.txt") & """>上一章</a>|"
End If

If (rank < NextLink.GetListCount("urllist.txt")) Then 'rank在最后, 則沒有下一頁
Response.Write "|<a href=""" & NextLink.GetNextURL("urllist.txt") & """>下一章</a>|"
End If
%>

  運行這個例子后,你馬上能真正理解這個組件的作用,簡而言之,就是不需要在每頁都寫一個“上一章”、“下一章”,完全通過wuf29.asp一下搞定,是不是很方便?!不然你要是手工修改鏈接的話,不是太麻煩了幾點嗎?

  現在你應該明白了,網上大量的免費計數器、免費留言板、免費聊天室、廣告交換網等等……,其原理都不過如此,大可不必崇拜


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品免费观看在线| 精品女同一区二区三区在线播放| 日韩精品极品视频免费观看| 91日韩在线视频| 欧美成人午夜激情在线| 色噜噜国产精品视频一区二区| 日韩视频―中文字幕| 麻豆一区二区在线观看| 欧美精品福利在线| 国产原创欧美精品| 日韩av色综合| 亚洲免费一级电影| 日韩精品在线观看网站| 91夜夜未满十八勿入爽爽影院| 亚洲欧美制服综合另类| 久久综合久久美利坚合众国| 亚洲国产精品悠悠久久琪琪| 成人午夜在线影院| 在线观看欧美日韩| 久久视频中文字幕| 色综合伊人色综合网| 91精品久久久久久久久中文字幕| 久久综合国产精品台湾中文娱乐网| 日韩一区二区三区在线播放| 日韩免费av一区二区| 国产成人av在线| 久久精品精品电影网| 国产精品精品视频| 亚洲天堂一区二区三区| 亚洲剧情一区二区| 国产精品成人免费视频| 久久亚洲综合国产精品99麻豆精品福利| 2018中文字幕一区二区三区| 国产精品久久国产精品99gif| 国产精品久久久久999| 日韩在线精品视频| 91久久精品国产91性色| 91在线观看免费高清完整版在线观看| 91视频九色网站| 456国产精品| 国产精品一区av| 日韩av手机在线观看| 91精品国产777在线观看| 国产日产久久高清欧美一区| 国产人妖伪娘一区91| 国产午夜精品久久久| 久久久免费精品| 欧美黑人国产人伦爽爽爽| 精品国产福利在线| 亚洲国产成人爱av在线播放| 国产性色av一区二区| 色樱桃影院亚洲精品影院| 超碰97人人做人人爱少妇| 久久精品国产v日韩v亚洲| 在线不卡国产精品| 高清日韩电视剧大全免费播放在线观看| 国产欧美一区二区三区久久人妖| 欧美极品美女电影一区| 国产一区二中文字幕在线看| 欧美性猛交xxxx偷拍洗澡| 亚洲综合av影视| 成人美女免费网站视频| 91精品久久久久久久久久久久久久| 亚洲字幕一区二区| 国产亚洲欧洲在线| 91久久精品国产91久久| 久久精品国产清自在天天线| 精品调教chinesegay| 国产精品午夜国产小视频| 不卡在线观看电视剧完整版| 国产+成+人+亚洲欧洲| 久久精品国产清自在天天线| 日韩欧美国产网站| 久久在精品线影院精品国产| 日韩国产精品亚洲а∨天堂免| 亚洲人成在线一二| 久久成人av网站| 亚洲天天在线日亚洲洲精| 精品调教chinesegay| 国产精品爽黄69| 久久久999精品| 国产欧美日韩专区发布| 国产亚洲视频中文字幕视频| 亚洲午夜久久久久久久| 国产欧美一区二区白浆黑人| 欧美一级bbbbb性bbbb喷潮片| 精品亚洲夜色av98在线观看| 法国裸体一区二区| 亚洲激情国产精品| 亚洲免费影视第一页| 欧美激情视频免费观看| 法国裸体一区二区| 欧美亚洲成人免费| 日本欧美一二三区| 国产精品精品视频| 日韩电影第一页| 尤物九九久久国产精品的分类| 国产精品高潮粉嫩av| 欧美精品免费看| 成人欧美一区二区三区在线| 精品国产一区二区在线| 亚洲激情视频在线观看| 一区二区三区回区在观看免费视频| 久久亚洲精品小早川怜子66| 午夜精品久久17c| 91国内在线视频| 久久亚洲精品国产亚洲老地址| 国产精品久久一区主播| 国产精品久久久久久久久影视| 丝袜美腿精品国产二区| 欧美成人亚洲成人| 中文字幕欧美精品在线| 国产日本欧美一区二区三区| 欧美成人免费全部观看天天性色| 日本韩国欧美精品大片卡二| 欧美成人激情视频免费观看| 欧美激情第一页xxx| 国产成人精品在线播放| 欧美成人午夜激情视频| 日日狠狠久久偷偷四色综合免费| 亚洲人成亚洲人成在线观看| 欧美巨大黑人极品精男| 成人精品视频在线| 国产男人精品视频| 九色精品美女在线| 久久91超碰青草是什么| 欧美午夜精品久久久久久久| 91在线观看欧美日韩| 精品视频—区二区三区免费| 亚洲一区二区免费在线| zzjj国产精品一区二区| 成人国产精品日本在线| www.国产一区| 日韩av片永久免费网站| 在线观看成人黄色| 欧美日韩国产精品| 精品久久久久久亚洲精品| 国产一区二区三区高清在线观看| 国产精品揄拍500视频| 国产69精品久久久久99| 欧美在线国产精品| 精品久久香蕉国产线看观看gif| 中文字幕日韩欧美在线| 日韩激情视频在线播放| 亚洲影院污污.| 中文字幕av一区| 久久精视频免费在线久久完整在线看| 操人视频在线观看欧美| 成人国产精品久久久| 最新国产精品亚洲| 91久久久久久久久久| 在线观看中文字幕亚洲| 国产成人亚洲综合91精品| 91香蕉国产在线观看| 欧美精品久久久久久久久| 国产在线999| 日本人成精品视频在线| 欧美激情精品久久久久久久变态| 亚洲最大的免费| 成人黄色午夜影院| 欧美极品美女视频网站在线观看免费| 国产精品免费一区二区三区都可以| 国色天香2019中文字幕在线观看| 欧美福利小视频|