提高頁(yè)面顯示速度的秘技?
在安排Web頁(yè)面的布局時(shí),最常用的方法之一是用HTML表格界定頁(yè)面的結(jié)構(gòu)。例如,假設(shè)Web頁(yè)面由頂端的導(dǎo)航條和它下面的兩欄(列)構(gòu)成——左邊的列是一個(gè)導(dǎo)航條,右邊的列是實(shí)際安置內(nèi)容的區(qū)域。對(duì)于這樣一個(gè)頁(yè)面,我們可以用一個(gè)兩行、兩列的大表格進(jìn)行布局:在第一行中,合并兩個(gè)列然后放上頂端導(dǎo)航表格;在第二個(gè)行中,左邊的列放上一個(gè)顯示導(dǎo)航按鈕的表格,右邊的列再用一個(gè)表格顯示頁(yè)面的實(shí)際內(nèi)容。用這種表格嵌套表格的方法進(jìn)行布局可以得到非常好的效果。
要制作出這種頁(yè)面,我們可以使用如下HTML代碼
?
<?TABLE?BORDER="0"?>?<?TR?>?<?TD?COLSPAN="2"?><?!--?頂端導(dǎo)航條的內(nèi)容?--?><?/TD?><?/TR?>?<?TR?>?<?TD?ALIGN="LEFT"?VALIGN="TOP"?><?!--?左邊導(dǎo)航條的內(nèi)容?--?><?/TD?>?<TD?ALIGN="LEFT"?VALIGN="TOP"?><?!--?頁(yè)面內(nèi)容區(qū)域?--?><?/TD?>?<?/TR?>?<?/TABLE?>
如果瀏覽器發(fā)現(xiàn)頁(yè)面中有一個(gè)TABLE標(biāo)記,在接收到對(duì)應(yīng)的結(jié)束標(biāo)記<?/TABLE>之前它不會(huì)顯示這個(gè)表格。因此,如果整個(gè)頁(yè)面都放入了一個(gè)大表格中,在瀏覽器下載這個(gè)大表格的<?/TABLE>標(biāo)記之前整個(gè)頁(yè)面都不會(huì)顯示。當(dāng)顯示內(nèi)容非常多的頁(yè)面時(shí)(例如,搜索結(jié)果或者電子商務(wù)網(wǎng)站上的產(chǎn)品目錄),表格的延遲顯示會(huì)導(dǎo)致整個(gè)頁(yè)面顯示的停頓。?
為了避免出現(xiàn)這種情況,我們應(yīng)該把頁(yè)面劃分成多個(gè)較小且獨(dú)立的表格區(qū)域。這樣的話,每個(gè)表格的HTML代碼下載之后瀏覽器就可以立即顯示它。對(duì)于瀏覽者來(lái)說(shuō),頁(yè)面將在屏幕上一部分、一部分地逐漸顯示出來(lái)。而且更重要的是,這種頁(yè)面在屏幕上開(kāi)始顯示的速度要比前面等待整個(gè)頁(yè)面下載才顯示的方法快得多。
對(duì)于前面介紹的例子,我們不是使用單個(gè)大表格進(jìn)行頁(yè)面布局,而是使用三個(gè)獨(dú)立的表格:第一個(gè)表格顯示頁(yè)面頂端的導(dǎo)航條,使其具有足夠的寬度顯示頁(yè)面內(nèi)容并完整地給出其<TABLE?><?/TABLE>標(biāo)記對(duì);在第一個(gè)表格的左下位置安排第二個(gè)表格,使這個(gè)表格向左對(duì)齊;最后一個(gè)表格位于第二個(gè)表格的右邊,用于放置頁(yè)面內(nèi)容。由于現(xiàn)在每一部分都是一個(gè)獨(dú)立的表格,瀏覽器只要下載了任一部分的代碼就會(huì)立即顯示它。因此,頁(yè)面頂端和左面的導(dǎo)航條將比頁(yè)面其余部分更快地顯示出來(lái)。這就避免了讓瀏覽者長(zhǎng)時(shí)間地在空白頁(yè)面前等待,而是給了他這樣一種印象:頁(yè)面已經(jīng)開(kāi)始下載,整個(gè)頁(yè)面將立刻出現(xiàn)在屏幕上。
修改后的布局代碼如下所示:
<?TABLE?BORDER="0"?WIDTH="100%"?>?<?TR?>?<?TD?ALIGN="CENTER"?VALIGN="TOP"><?!--?頂端導(dǎo)航條的內(nèi)容?--?><?/TD?>?<?/TR?>?<?/TABLE?>?<?TABLE?BORDER="0"ALIGN="LEFT"?>?<?TR?>?<?TD?ALIGN="LEFT"?VALIGN="TOP"?><?!--?左邊導(dǎo)航條的內(nèi)容?--?></TD?>?<?/TR?>?<?/TABLE?>?<?TABLE?BORDER="0"?>?<?TR?>?<?TD?ALIGN="LEFT"VALIGN="TOP"?><?!--?頁(yè)面內(nèi)容區(qū)域?--?><?/TD?>?<?/TR?>?<?/TABLE?>?
正如盡可能早地關(guān)閉TABLE標(biāo)記使得瀏覽器能夠快速地顯示出表格中的數(shù)據(jù),還有另外兩個(gè)標(biāo)記也同樣可以用這種方法提高顯示速度,這兩個(gè)標(biāo)記就是用于制作列表框的<OPTION?>標(biāo)記和用于制作無(wú)序列表的<?LI?>標(biāo)記。
ASP程序員常常要訪問(wèn)數(shù)據(jù)庫(kù)獲取數(shù)據(jù)然后用<?OPTION?>標(biāo)記構(gòu)造列表框。只要簡(jiǎn)單地改動(dòng)一下代碼關(guān)閉<OPTION?>標(biāo)記,就可以讓瀏覽器顯示頁(yè)面的速度加快。?
例如,原先使用下面的代碼:? ?
Do?while?not?objRS.EOF?strOptionList?=?strOptionList?&?"<?OPTIONVALUE="""?&?objRS("ID")?&?_?"""?>"?&?objRS("ProductName")?objRS.MoveNextLoop?Response.Write?"<?SELECT?SIZE=""1""?>"?&?strOptionList?&?"<?/SELECT?>"
現(xiàn)在只需改動(dòng)一行代碼:? ?
Do?while?not?objRS.EOF?strOptionList?=?strOptionList?&?"<?OPTIONVALUE="""?&?objRS("ID")?&?_?"""?>"?&?objRS("ProductName")?&?"<?/OPTION?>"objRS.MoveNext?Loop?Response.Write?"<?SELECT?SIZE=""1""?>"?&?strOptionList?&""?
如果原來(lái)使用的代碼如下:
<?UL?>?<?LI?>蘋果?<?LI?>桔子?<?LI?>香蕉?<?/UL?>?
那么現(xiàn)在改用:?
<?UL?>?<?LI?>蘋果<?/LI?>?<?LI?>桔子<?/LI?>?<?LI?>香蕉<?/LI?>?<?/UL?>?
經(jīng)過(guò)這些改動(dòng)之后,瀏覽器顯示頁(yè)面的速度將會(huì)更快。
posted on 2006-11-18 14:03
kelven 閱讀(219)
評(píng)論(0) 編輯 收藏 所屬分類:
HTML