淺析ASP內建群組件

來源:互聯網
上載者:User
 本文的內容是使用ASP的ActiveX Server Components(組件)。

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

  我們知道,不同的瀏覽器也許支援不同的功能,如有些瀏覽器支援架構,有些不支援。利用這個組件,可以檢查瀏覽器的能力,使你的網頁爭對不同的瀏覽器顯示不同的頁面(如對不支援Frame的瀏覽器顯示不含Frame的網頁)。 該組件的使用很簡單,需注意的是,要正確使用該組件,必須保證Browscap.ini檔案是最新的(其實每一個瀏覽器及其特性都列在這個檔案中,自己開啟看看就明白了),否則結果可能相去甚遠,如Win98第二版所帶的IE5.0,在下例中顯示為Netscape。這個檔案一般位於Web伺服器的“WinntSystem32InetSrv”下,最新的版本可去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:Inetpubhomeaspwuf23.asp 首頁路徑: C:Inetpubhome
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 est")
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組件對檔案、檔案夾和磁碟機的操作還是比較強大的,也提供了較多的方法,如果需要用到這方面的知識,別忘了使用它。

  另外,到現在為止,寫一個網頁計數器已經是小菜一碟了吧,難怪那麼多的網頁提供免費計數器。怎麼樣?自己寫一個圖形計數器試試看,想怎麼作弊就怎麼作弊,完全自己說了算,爽呆!(小秘密:我的首頁上有執行個體wuf24.asp)

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

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

  常式w



相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。