国产毛片午夜福利,国产黄网,国产亚洲天堂,97国产精品

  •  
    HTML-加速、再加速
    發(fā)布時(shí)間:2008-05-07   瀏覽次數(shù):1183782

    HTML-加速、再加速

    web開(kāi)發(fā)人員是否必須掌握復(fù)雜的組件技術(shù)才能加快html頁(yè)面的訪問(wèn)速度?答案是:不一定!實(shí)際上,有許多關(guān)于HTML與DHTML方面的技巧,它們?cè)砗?jiǎn)單而且上手容易。無(wú)論是技術(shù)高超的老手,還是初涉編程的菜鳥(niǎo),領(lǐng)會(huì)這些都十分必要。
    明顯HTML,暗渡“公用腳本”

    減少web頁(yè)面下載時(shí)間的關(guān)鍵是設(shè)法減小文件大小。當(dāng)多個(gè)頁(yè)面共用一些成分內(nèi)容時(shí),可以考慮將這些公用部分單獨(dú)分離出來(lái)。比如:我們可以將多個(gè)HTML頁(yè)面都用到的腳本程序編寫(xiě)成獨(dú)立存在的.js文件,然后再在頁(yè)面中按如下方式調(diào)用它:

    <script src="myfile.js"></script>

    這樣,公用文件只需要下載一次,然后進(jìn)入緩沖區(qū)。等下次再次調(diào)用包含公用文件的html頁(yè)面時(shí),下載時(shí)間明顯減少。

    讓樣式表內(nèi)容進(jìn)入地下工作

    CSS是HTML裝扮器,一個(gè)漂亮的Web頁(yè)面不可能沒(méi)有它。HTML頁(yè)面中有多種引用CSS的方法,不同的方法導(dǎo)致的效率也不一樣。通常,我們可以將定義于<style></style>間的樣式控制代碼提取出來(lái),保存到單獨(dú)的.css文件中,然后在HTML頁(yè)面中以<LINK>標(biāo)記或者@import標(biāo)記的方式進(jìn)行引用:

    <style>
    @import url("mysheet1.css");
    </style>


    請(qǐng)注意2點(diǎn):1、.css文件中無(wú)需包括<style>標(biāo)記;2、@import和LINK標(biāo)記要定義在HTML頁(yè)面的HEAD部分。

    寶貴內(nèi)存節(jié)省兩法

    盡量減少HTML頁(yè)面占用的內(nèi)存空間是加快頁(yè)面下載速度的一個(gè)有效方法。在這方面,有2個(gè)需要注意的問(wèn)題:

    1、使用同一種腳本語(yǔ)言

    HTML頁(yè)面離不開(kāi)腳本程序的支持,我們經(jīng)常會(huì)在頁(yè)面中嵌入多種腳本語(yǔ)言,比如JavaScript與VBScript。但是,不知你發(fā)覺(jué)沒(méi)有:這樣的混合使用減慢了頁(yè)面的訪問(wèn)速度。原因在于:要解釋并運(yùn)行多種腳本代碼,必須在內(nèi)存中裝載多種腳本引擎。所以,請(qǐng)盡量在頁(yè)面中使用同一種腳本語(yǔ)言編寫(xiě)代碼。

    2、巧用IFrame

    你使用過(guò)<IFRAME>標(biāo)記嗎?它可是一個(gè)非常美妙的功能。如果要在一個(gè)HTML文檔中包含第2個(gè)頁(yè)面的內(nèi)容,通常的方法是使用<FRAMESET>標(biāo)記。但是有了<IFRAME>,一切變得簡(jiǎn)單了。比如,開(kāi)發(fā)一個(gè)文檔預(yù)覽頁(yè)面,可以在左邊放置一系列主題,在右邊放置一個(gè)IFRAME,其中包含要預(yù)覽的文檔;當(dāng)鼠標(biāo)掠過(guò)左邊的每一個(gè)主題鏈接時(shí),在右邊建立一個(gè)新的IFRAME以預(yù)覽文檔。這樣做,代碼效率無(wú)疑是的,但同時(shí)導(dǎo)致了繁重的處理過(guò)程,最終是緩慢的速度。

    沒(méi)關(guān)系,我們有辦法:只使用單一的IFRAME。當(dāng)鼠標(biāo)指向一個(gè)新主題時(shí),只需要修改IFRAME元素的SRC屬性即可。這樣,任何時(shí)間內(nèi)只會(huì)有一個(gè)預(yù)覽文檔保留在內(nèi)存。

    擇優(yōu)選用動(dòng)畫(huà)定位屬性

    每天上網(wǎng)瀏覽頁(yè)面,你一定會(huì)看到許多動(dòng)畫(huà)效果。比如,一個(gè)可愛(ài)的小兔子在頁(yè)面上來(lái)回地走動(dòng) ... 實(shí)現(xiàn)這個(gè)效果的核心技術(shù)是CCS定位。通常,我們是使用element.style.left和element.style.top2個(gè)屬性來(lái)達(dá)到圖形定位的目的。但是,這樣做會(huì)產(chǎn)生一些問(wèn)題:left屬性返回一個(gè)字符串,并且其中包含了度量單位(比如100px)。因此,要設(shè)定新的位置坐標(biāo),必須首先對(duì)這個(gè)字符串返回值進(jìn)行處理,然后才能賦值,象下面一樣:

    dim stringLeft, intLeft

    stringLeft = element.style.left

    intLeft = parseInt(stringLeft)

    intLeft = intLeft + 10

    element.style.left = intLeft;

    你一定會(huì)感覺(jué)做這么點(diǎn)事情竟要編寫(xiě)這么復(fù)雜的代碼,是否有更簡(jiǎn)潔的方法?當(dāng)然有!請(qǐng)看這4個(gè)屬性:posLeft、posTop、posWidth 和 posHeight,它們對(duì)應(yīng)于相應(yīng)字符串返回值的點(diǎn)數(shù)數(shù)值。好了,使用這些屬性重新編寫(xiě)代碼實(shí)現(xiàn)上面代碼實(shí)現(xiàn)的功能:

    element.style.posLeft += 10

    代碼短小、速度卻更快!

    循環(huán)控制多個(gè)動(dòng)畫(huà)

    說(shuō)到制作動(dòng)畫(huà)效果,當(dāng)然離不開(kāi)定時(shí)器的運(yùn)用。通常的方法是使用window.setTimeout來(lái)不斷地定位頁(yè)面上的元素。但是,如果頁(yè)面上有多個(gè)動(dòng)畫(huà)要顯示,是不是要設(shè)定多個(gè)定時(shí)器呢?答案是No!原因很簡(jiǎn)單:定時(shí)器功能將消耗掉大量寶貴的系統(tǒng)資源?墒俏覀?nèi)阅茉陧?yè)面上控制多個(gè)動(dòng)畫(huà),技巧是使用一個(gè)循環(huán)。在循環(huán)中根據(jù)不同的變量值控制相應(yīng)動(dòng)畫(huà)的位置,整個(gè)循環(huán)中只使用一個(gè)window.setTimeout()函數(shù)調(diào)用。

    Visibility快于Display

    讓圖畫(huà)時(shí)隱時(shí)現(xiàn)會(huì)創(chuàng)造很有趣的效果,有2種方法可以實(shí)現(xiàn)這個(gè)目的:使用CSS的visibility屬性或者display屬性。對(duì)于位置元素,diaplay和visibility具有同樣的效果。兩者的區(qū)別在于:設(shè)置為display:none的元素將不再占用文檔流的空間,而設(shè)置為visibility:hidden的元素仍然保留原位置。

    但是如果要處理位置的元素,使用visibility會(huì)更快。

    從小處著手

    編寫(xiě)DHTML網(wǎng)頁(yè)的一個(gè)重要提示是:從小處著手。初次編寫(xiě)DHTML頁(yè)面時(shí),一定不要試圖在頁(yè)面中使用你了解到的全部DHTML功能。每次可以只使用一個(gè)單一的新特征,并且仔細(xì)地觀察由此產(chǎn)生的變化。如果發(fā)現(xiàn)性能有所下降,可以快速地找到為什么。

    腳本的DEFER化

    DEFER是腳本程序強(qiáng)大功能中的一個(gè)“無(wú)名英雄”。你可能從沒(méi)有使用過(guò)它,但是看完這里的介紹后,相信你離不開(kāi)它。它告訴瀏覽器Script段包含了無(wú)需立即執(zhí)行的代碼,并且,與SRC屬性聯(lián)合使用,它還可以使這些腳本在后臺(tái)被下載,前臺(tái)的內(nèi)容則正常顯示給用戶。

    請(qǐng)注意兩點(diǎn):

    1、不要在defer型的腳本程序段中調(diào)用document.write命令,因?yàn)閐ocument.write將產(chǎn)生直接輸出效果。

    2、而且,不要在defer型腳本程序段中包括任何立即執(zhí)行腳本要使用的全局變量或者函數(shù)。

    保持同一URL的大小寫(xiě)一致性

    我們都知道UNIX服務(wù)器是大小寫(xiě)敏感的,但是你知道嗎:Internet Explorer的緩沖區(qū)也是區(qū)別對(duì)待大小寫(xiě)字符串的。因此,作為web開(kāi)發(fā)者,一定要記住保持相同鏈接的URL字符串在不同位置的大小寫(xiě)的一致性。否則,會(huì)在瀏覽器的緩沖區(qū)中存放同一位置的不同文件備份,也增加了下載同一位置內(nèi)容的請(qǐng)求次數(shù)。這些都無(wú)疑降低了web訪問(wèn)效率。所以請(qǐng)謹(jǐn)記:同一位置的URL,在不同頁(yè)面中請(qǐng)保持URL字符串的大小寫(xiě)一致性。

    讓標(biāo)記有始有終

    自己編寫(xiě)或者查看他人的HTML代碼時(shí),我們一定都遇到過(guò)標(biāo)記有頭無(wú)尾的情況。比如:

    <P>有頭無(wú)尾標(biāo)記舉例
    <UL>
    <LI>個(gè)
    <LI>第二個(gè)
    <LI>第三個(gè)
    </UL>

    很明顯,上面的代碼中缺少三個(gè)</LI>結(jié)束標(biāo)記。但是這并不妨礙它的正確執(zhí)行。在HTML中,這樣的標(biāo)記還有一些,例如FRAME、IMG和P。

    可是請(qǐng)不要偷懶,請(qǐng)將結(jié)束標(biāo)記寫(xiě)完整,這樣做不僅使HTML代碼格式規(guī)范,更可以加速頁(yè)面的顯示速度。因?yàn)镮nternet Explorer將不會(huì)花費(fèi)時(shí)間判斷和計(jì)算段落或者列表項(xiàng)目在哪里結(jié)束。

    <P>有頭有尾標(biāo)記舉例</P>
    <UL>
    <LI>個(gè)</LI>
    <LI>第二個(gè)</LI>
    <LI>第三個(gè)</LI>
    </UL>

    OK,以上列舉了有關(guān)加速HTML頁(yè)面的10個(gè)處理技巧,描述這些很簡(jiǎn)單,但是只有真正領(lǐng)會(huì)并掌握其中的本質(zhì),并且舉一反三,才會(huì)編寫(xiě)出更快、更好的程序。

    立即預(yù)約