亚洲新天堂无码在线看_无码精品人妻二区二区_久久久久精品国产电影_亚洲高清无码专区视频

當(dāng)前位置:首頁 > 建站知識 > 網(wǎng)站設(shè)計(jì) > 正文

利用HTML優(yōu)化加快網(wǎng)頁速度

來源:征帆網(wǎng)絡(luò)  作者:ymars  日期:2014-7-4

  web開發(fā)人員是否必須掌握復(fù)雜的組件技術(shù)才能加快html頁面的訪問速度?答案是:不一定!實(shí)際上,有許多關(guān)于HTML與DHTML方面的技巧,它們原理簡單而且上手容易。無論是技術(shù)高超的老手,還是初涉編程的菜鳥,領(lǐng)會這些都十分必要。

  明顯HTML,暗渡“公用腳本”

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

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

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

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

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

  <style>

   @import url("mysheet1.css");

   </style>

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

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

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

   1、使用同一種腳本語言

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

  2、巧用IFrame

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

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

  擇優(yōu)選用動畫定位屬性

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

  dim stringLeft, intLeft

  stringLeft = element.style.left

  intLeft = parseInt(stringLeft)

  intLeft = intLeft + 10

  element.style.left = intLeft;