- 1. 都市賽車6 (Asphalt 6)for Android v3.1.6 最...
- 2. 免費(fèi)ASP論壇程序Web Wiz Forums v9.71 英文版
- 3. 0323版 (卡巴斯基反病毒)病毒庫 Kaspersky Anti-Vi...
- 4. 混淆代碼從而保護(hù)知識(shí)產(chǎn)權(quán)ASP混天綾 V 0.96
- 5. 精通ASP.NET網(wǎng)絡(luò)編程 電子書
- 6. 卡巴斯基(Kaspersky)2009 KAV v8.0.0.506 Final 官...
- 7. ASP代碼加密工具 10.0 英文版 Build 008
- 8. ASP代碼加密工具 10.0 中文旗艦版
- 9. 深度學(xué)習(xí)文章管理系統(tǒng)(自動(dòng)生成asp代碼) V0.05綠色...
- 10. 輕松學(xué)會(huì)ASP V1.0 綠色中文版
幫你優(yōu)化ASP程序的顯示速度
這篇文章我們將給大家介紹到關(guān)于如何去加快ASP程序的顯示速度,希望對(duì)ASP程序員們有所幫助。
作為一個(gè)ASP程序員,你不會(huì)懷疑提高Web應(yīng)用程序性能的重要性。為了讓程序運(yùn)行的更快一些,你可能一直忙于優(yōu)化數(shù)據(jù)庫或COM組件。如果這些你都做過了,你想到過靠加快最終生成HTML代碼在瀏覽器中的顯示速度來提高性能嗎?對(duì)于最終用戶來說,如果頁面能顯示的更快,你就能贏得更多的贊譽(yù)。
提高HTML在瀏覽器中顯示的速度可以通過一些鮮為人知的技術(shù)來實(shí)現(xiàn)。
1.使用表格嵌套?
在頁面中建立復(fù)雜的結(jié)構(gòu),一般通過在頁面中放置HTML表格來實(shí)現(xiàn)。如果要建立一個(gè)這樣的頁面:這個(gè)頁面有一個(gè)頂部導(dǎo)航欄一個(gè)左邊導(dǎo)航欄,一個(gè)右邊的內(nèi)容區(qū)?梢杂靡粋(gè)兩行兩列的大表格來建立它。第一行中,合并兩個(gè)列,然后插入一個(gè)頂部導(dǎo)航欄。第二行左邊的列中,插入一個(gè)表格來顯示導(dǎo)航按鈕。右邊的欄中,放置一個(gè)表格來實(shí)際內(nèi)容。(見圖一)這樣嵌套的表格生成的代碼是這樣的:
<TABLE BORDER="0">
。糡R>
。糡D COLSPAN="2"><!-- content for top nav bar --></TD>
。/TR>
<TR>
。糡D ALIGN="LEFT" VALIGN="TOP"><!-- content for left nav bar --></TD>
。糡D ALIGN="LEFT" VALIGN="TOP"><!-- content for body of page --></TD>
</TR>
。/TABLE>
但是,實(shí)際上,瀏覽器找到<TABLE>標(biāo)簽的時(shí)候并不是立刻把頁面顯示到屏幕上,除非它找到相應(yīng)的結(jié)束標(biāo)簽</TABLE>。所以,如果你的整個(gè)頁面在一個(gè)表格里的話,在收到最后一個(gè)</TABLE>之前,什么也不會(huì)顯示出來,這樣,這個(gè)頁面將在整個(gè)文件全部下載以后才能被用戶所看到。在頁面數(shù)據(jù)量比較大的時(shí)候(比如搜索引擎的搜索結(jié)果),這個(gè)特性會(huì)導(dǎo)致暫時(shí)的停頓。為了防止出現(xiàn)這種情況,可以在制作的時(shí)候把頁面分成許多小的表格。在每一個(gè)<TABLE>到相應(yīng)的</TABLE>這一部分HTML代碼下載完的時(shí)候,瀏覽器就會(huì)把它顯示出來。在訪問者看來頁面是漸漸的,一部分一部分,越來越多的出現(xiàn)在屏幕上的。感覺上,這樣的頁面顯示速度比下載完整個(gè)文件再一次顯示出來更快。
按照這個(gè)原則來研究前面的例子,應(yīng)該把頁面中整個(gè)的大表分成三個(gè)單獨(dú)的表。用第一個(gè)表顯示頂部的導(dǎo)航欄,調(diào)節(jié)它的寬度,使它足夠容納所有的內(nèi)容,在一個(gè)<TABLE></TABLE>代碼段中完成它。頁面下半部分,左邊第二個(gè)表排成一列。使用第三個(gè)表容納實(shí)際內(nèi)容。(見圖二)因?yàn)槊恳粋(gè)部分都是一個(gè)完整的表格,所以,每一部分代碼下載后都會(huì)立刻被顯示出來。這樣,頂部和左邊的導(dǎo)航欄將比頁面的其它部分更顯顯示出來。用戶會(huì)在這個(gè)時(shí)候想象頁面開始下載,很快就能顯示在屏幕上。這樣比起讓用戶在較長時(shí)間內(nèi)一直面對(duì)一個(gè)空白屏幕要好得多。
修改過的代碼是這樣的:
。糡ABLE BORDER="0" WIDTH="100%">
。糡R>
<TD ALIGN="CENTER" VALIGN="TOP"><!-- content for top nav bar --></TD>
。/TR>
。/TABLE>
。糡ABLE BORDER="0" ALIGN="LEFT">
。糡R>
。糡D ALIGN="LEFT" VALIGN="TOP"><!-- content for left nav bar --></TD>
。/TR>
</TABLE>
。糡ABLE BORDER="0">
。糡R>
。糡D ALIGN="LEFT" VALIGN="TOP"><!-- content for page body --></TD>
</TR>
。/TABLE>
2.也要記住關(guān)閉其他的標(biāo)記
在上面的例子中,我們僅僅早一些關(guān)閉<TABLE>標(biāo)記,就能讓頁面在瀏覽器顯示的更快些。以此類推,還有一些類似的標(biāo)記也有同樣的特性。
比如產(chǎn)生列表框和組合框<OPTION>標(biāo)記和產(chǎn)生列表項(xiàng)的<LI>標(biāo)記。通常,ASP程序員存取數(shù)據(jù)庫,并把數(shù)據(jù)送入通過<OPTION>建立的列表框或組合框中,這時(shí)候在代碼中寫上一個(gè)關(guān)閉<OPTION>標(biāo)記,這樣簡單的改變也能使頁面在瀏覽器中顯示的更快。
不要使用這樣的代碼:
Do while not objRS.EOF
strOptionList = strOptionList & "<OPTION VALUE=""" & objRS("ID") &_""">"& _objRS("ProductName")
objRS.MoveNext
Loop
Response.Write "<SELECT SIZE=""1"">" & strOptionList & "</SELECT>"
要使用這樣的代碼:
Do while not objRS.EOF
strOptionList = strOptionList & "<OPTION VALUE=""" & objRS("ID") & _ """>" & objRS("ProductName") & "</OPTION>"
objRS.MoveNext
Loop
Response.Write "<SELECT SIZE=""1"">" & strOptionList & "</SELECT>"
不要使用這樣的代碼:
<UL>
。糒I>Apples
<LI>Oranges
。糒I>Bananas
。/UL>
使用這樣的代碼:
。糢L>
。糒I>Apples</LI>
。糒I>Oranges</LI>
。糒I>Bananas</LI>
</UL>
現(xiàn)在看看,你的頁面在瀏覽器中是不是顯示的快了?
請(qǐng)不要輕視這些改變對(duì)提高ASP程序性能的重要性。也許,在你能找到的“技巧與提示”一類的書或在線資料中,很少提到過通過優(yōu)化HTML代碼來使你的程序運(yùn)行的更快。但是,在實(shí)際中應(yīng)用這些技術(shù),確實(shí)能使程序性能得到很大的提高。
- 1. 教你編寫安全的ASP代碼
- 2. ASP程序應(yīng)用之模板采用的簡單教程
- 3. 關(guān)于ASP中大字段在Form中Post出錯(cuò)的解析
- 4. 關(guān)于在ASP程序頁面中插入excel文件的實(shí)例代碼分享
- 5. ASP程序?qū)崿F(xiàn)自動(dòng)采集程序及入庫的實(shí)例代碼分享
- 6. ASP一些錯(cuò)誤代碼的解釋說明
- 7. 關(guān)于ASP控制圖片顯示大小的實(shí)例代碼分享
- 8. ASP中類型轉(zhuǎn)換函數(shù)的介紹說明
- 9. ASP中定義數(shù)組方法分享
- 10. 關(guān)于ASP組件上傳的三種機(jī)制