當前位置: 首頁IT技術(shù) → 幫你優(yōu)化ASP程序的顯示速度

幫你優(yōu)化ASP程序的顯示速度

更多

這篇文章我們將給大家介紹到關(guān)于如何去加快ASP程序的顯示速度,希望對ASP程序員們有所幫助。

作為一個ASP程序員,你不會懷疑提高Web應(yīng)用程序性能的重要性。為了讓程序運行的更快一些,你可能一直忙于優(yōu)化數(shù)據(jù)庫或COM組件。如果這些你都做過了,你想到過靠加快最終生成HTML代碼在瀏覽器中的顯示速度來提高性能嗎?對于最終用戶來說,如果頁面能顯示的更快,你就能贏得更多的贊譽。
 
  提高HTML在瀏覽器中顯示的速度可以通過一些鮮為人知的技術(shù)來實現(xiàn)。

  1.使用表格嵌套?

  在頁面中建立復雜的結(jié)構(gòu),一般通過在頁面中放置HTML表格來實現(xiàn)。如果要建立一個這樣的頁面:這個頁面有一個頂部導航欄一個左邊導航欄,一個右邊的內(nèi)容區(qū)。可以用一個兩行兩列的大表格來建立它。第一行中,合并兩個列,然后插入一個頂部導航欄。第二行左邊的列中,插入一個表格來顯示導航按鈕。右邊的欄中,放置一個表格來實際內(nèi)容。(見圖一)這樣嵌套的表格生成的代碼是這樣的:

 �。糡ABLE BORDER="0">
 �。糡R>
 �。糡D COLSPAN="2"><!-- content for top nav bar --></TD>
 �。�/TR>
 �。糡R>
  <TD ALIGN="LEFT" VALIGN="TOP"><!-- content for left nav bar --></TD>
 �。糡D ALIGN="LEFT" VALIGN="TOP"><!-- content for body of page --></TD>
 �。�/TR>
 �。�/TABLE>

  但是,實際上,瀏覽器找到<TABLE>標簽的時候并不是立刻把頁面顯示到屏幕上,除非它找到相應(yīng)的結(jié)束標簽</TABLE>。所以,如果你的整個頁面在一個表格里的話,在收到最后一個</TABLE>之前,什么也不會顯示出來,這樣,這個頁面將在整個文件全部下載以后才能被用戶所看到。在頁面數(shù)據(jù)量比較大的時候(比如搜索引擎的搜索結(jié)果),這個特性會導致暫時的停頓。為了防止出現(xiàn)這種情況,可以在制作的時候把頁面分成許多小的表格。在每一個<TABLE>到相應(yīng)的</TABLE>這一部分HTML代碼下載完的時候,瀏覽器就會把它顯示出來。在訪問者看來頁面是漸漸的,一部分一部分,越來越多的出現(xiàn)在屏幕上的。感覺上,這樣的頁面顯示速度比下載完整個文件再一次顯示出來更快。

  按照這個原則來研究前面的例子,應(yīng)該把頁面中整個的大表分成三個單獨的表。用第一個表顯示頂部的導航欄,調(diào)節(jié)它的寬度,使它足夠容納所有的內(nèi)容,在一個<TABLE></TABLE>代碼段中完成它。頁面下半部分,左邊第二個表排成一列。使用第三個表容納實際內(nèi)容。(見圖二)因為每一個部分都是一個完整的表格,所以,每一部分代碼下載后都會立刻被顯示出來。這樣,頂部和左邊的導航欄將比頁面的其它部分更顯顯示出來。用戶會在這個時候想象頁面開始下載,很快就能顯示在屏幕上。這樣比起讓用戶在較長時間內(nèi)一直面對一個空白屏幕要好得多。

  修改過的代碼是這樣的:

 �。糡ABLE BORDER="0" WIDTH="100%">
 �。糡R>
 �。糡D ALIGN="CENTER" VALIGN="TOP"><!-- content for top nav bar --></TD>
 �。�/TR>
 �。�/TABLE>
  <TABLE BORDER="0" ALIGN="LEFT">
 �。糡R>
 �。糡D ALIGN="LEFT" VALIGN="TOP"><!-- content for left nav bar --></TD>
 �。�/TR>
  </TABLE>
 �。糡ABLE BORDER="0">
 �。糡R>
  <TD ALIGN="LEFT" VALIGN="TOP"><!-- content for page body --></TD>
 �。�/TR>
  </TABLE>

  2.也要記住關(guān)閉其他的標記

  在上面的例子中,我們僅僅早一些關(guān)閉<TABLE>標記,就能讓頁面在瀏覽器顯示的更快些。以此類推,還有一些類似的標記也有同樣的特性。

  比如產(chǎn)生列表框和組合框<OPTION>標記和產(chǎn)生列表項的<LI>標記。通常,ASP程序員存取數(shù)據(jù)庫,并把數(shù)據(jù)送入通過<OPTION>建立的列表框或組合框中,這時候在代碼中寫上一個關(guān)閉<OPTION>標記,這樣簡單的改變也能使頁面在瀏覽器中顯示的更快。

  不要使用這樣的代碼:

  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>

  使用這樣的代碼:
  <UL>
 �。糒I>Apples</LI>
 �。糒I>Oranges</LI>
 �。糒I>Bananas</LI>
 �。�/UL>

  現(xiàn)在看看,你的頁面在瀏覽器中是不是顯示的快了?

  請不要輕視這些改變對提高ASP程序性能的重要性。也許,在你能找到的“技巧與提示”一類的書或在線資料中,很少提到過通過優(yōu)化HTML代碼來使你的程序運行的更快。但是,在實際中應(yīng)用這些技術(shù),確實能使程序性能得到很大的提高。

熱門評論
最新評論
發(fā)表評論 查看所有評論(0)
昵稱:
表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
字數(shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)