本篇內(nèi)容介紹了“javascript減少頁面加載時間的方法”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
從事雅安服務(wù)器托管,服務(wù)器租用,云主機(jī),網(wǎng)頁空間,國際域名空間,CDN,網(wǎng)絡(luò)代維等服務(wù)。
1. 重復(fù)的HTTP請求數(shù)量應(yīng)盡量減少
(1)減少調(diào)用其他頁面、文件的數(shù)量。
(2)在使用css格式時,常會采用background載入圖形文件,而每個background的圖像都會產(chǎn)生1次HTTP 請求,為了讓頁面生動活潑大量使用background來加載背景圖,可以采用css的1個有用的background-position屬 性來加載背景圖加以改善,將需要頻繁加載的多個圖片合成為1個單獨的圖片,加載時采用:background:url(....) no-repeat x-offset y-offset的形式加載,圖片加載的HTTP請求縮減為1個。
background:url(....) no-repeat x-offset y-offset
2. 壓縮Javascript、CSS代碼
一般js、css文件中存在大量的空格、換行、注釋,這些利于閱讀,如果能夠壓縮掉,將會很有利于網(wǎng)絡(luò)傳輸。這方面的工具也有很多,可以在百度里搜索一下 關(guān)鍵字“css代碼壓縮”,或者“js代碼壓縮”將會發(fā)現(xiàn)有很多網(wǎng)站都提供這樣的功能,當(dāng)然了你也可以自己寫程序來做這個工作,如果你會的話。就拿我們這 個網(wǎng)站來說吧。剛開始上傳這個網(wǎng)站的時候,我的很多Css代碼都沒有壓縮,后面發(fā)現(xiàn)了這個問題,我就上網(wǎng)找了相關(guān)的網(wǎng)站的壓縮代碼的功能,最后就把很多 CSS文件都壓縮了。這個壓縮比率還是比較高的,一般都有百分五十左右。這個代碼壓縮對于網(wǎng)頁的加載還是很有用的。
3. 在文件頭部放置css樣式的定義
這項設(shè)置對于用戶端是慢速網(wǎng)絡(luò)或網(wǎng)頁內(nèi)容比較龐大的情況比較有利,可以在網(wǎng)頁逐步呈現(xiàn)的同時仍會保持格式信息,不影響網(wǎng)頁美感。
4. 在文件末尾放Javascript腳本
網(wǎng)頁文件的載入是從上到下加載的,很多Javascript腳本執(zhí)行效率較低,或者在網(wǎng)頁前面都不需要執(zhí)行的,如果將這些腳本放置到頁面比較靠前的位置, 可能導(dǎo)致網(wǎng)站內(nèi)容載入速度下降或加載不了,將這些腳本放置在網(wǎng)頁文件末尾,一定要放 置在前面的腳本要改用所謂的“后載入”方式加載,在主體網(wǎng)頁加載完成后再加載,防止其影響到主體網(wǎng)頁的加載速度。
5. css、javascript改由外部調(diào)用
如果css、js內(nèi)容比較龐大,盡量不要寫到同1個頁面中去,改由外部載入比較妥當(dāng),因為瀏覽器本身會對css、js文件進(jìn)行緩存。
6. 盡可能減少DCOM元素
盡可能減少網(wǎng)頁中各種<>元素數(shù)量,例如<table>的冗余很嚴(yán)重,而我們完全可以用<div>取代之。
7. 避免使用CSS腳本(CSS Expressions)
有時為了要css的參數(shù)動態(tài)改變,可能會采用css expression來實現(xiàn),但這樣做得不償失,會使用戶端瀏覽器負(fù)擔(dān)明顯加重,所以不建議這樣做,如果需要改變,可以使用Javascript腳本去實現(xiàn)。
8. 添加文件過期或緩存頭
對于同一用戶頻繁訪問的圖片、Js腳本文件等可以在Apache或Nginx設(shè)置其緩沖時間,例如設(shè)置24小時過期時間,這樣用戶在訪問過該頁面之后再次訪問時,同一組圖片或JS不會再重復(fù)下載,從而減少了HTTP請求,用戶訪問速度明顯有所提升,同時服務(wù)器負(fù)載也會下降。下面給出nginx配置中緩存控制的例子:
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d;#設(shè)置30天過期 } location ~ .*\.(js|css)?$ { expires 1h;#設(shè)置1小時過期 }
9. 使用cdn(Content Delivery Network)網(wǎng)絡(luò)加速
現(xiàn)在國內(nèi)做CDN加速業(yè)務(wù)的公司很多,簡單講,就是將你的圖片、視頻擴(kuò)散到CDN網(wǎng)絡(luò)所能到達(dá)之處,讓用戶訪問時能就近下載到這些文件,從而達(dá)到網(wǎng)絡(luò)提速的目的,這樣做,同時能減輕你自己網(wǎng)站的負(fù)載。
10. 服務(wù)器啟用gzip壓縮功能
將要傳輸?shù)奈募嚎s后傳輸?shù)娇蛻舳嗽俳鈮?,在網(wǎng)絡(luò)傳輸數(shù)據(jù)量會大幅減小。在服務(wù)器上的Apache、Nginx可直接啟用,也可用代碼直接設(shè)置傳輸文件頭,增加gzip的設(shè)置,也可從 負(fù)載均衡設(shè)備直接設(shè)置。不過需要留意的是,這個設(shè)置會略微增加服務(wù)器的負(fù)擔(dān)。服務(wù)器性能不是很好的網(wǎng)站,要慎重考慮。
11. Ajax采用緩存調(diào)用
Ajax調(diào)用都采用緩存調(diào)用方式,一般采用附加特征參數(shù)方式實現(xiàn),注意其中的
<script src=”xxx.js?{VERHASH}”,
{VERHASH}就是特征參數(shù),這個參數(shù)不變化就使用緩存文件,如果發(fā)生變化則重新下載新文件或更新信息。
12. Ajax調(diào)用盡量采用GET方法調(diào)用
實際使用XMLHttpRequest時,如果使用POST方法實現(xiàn),會發(fā)生2次HTTP請求,而使用GET方法只會發(fā)生1次HTTP請求。如果改用GET方法,HTTP請求減少50%!
13. 養(yǎng)成良好的開發(fā)維護(hù)習(xí)慣,盡量避免腳本重復(fù)調(diào)用
14. 縮減iframe的使用,如無必要,盡量不要使用
iframe通常用于不同域名內(nèi)容的加載,這同時也可能因iframe內(nèi)容加載速度影響到主網(wǎng)頁加載速度,如果可能,把需要加載的內(nèi)容抓取到本地直接嵌入。如果實在需要iframe加載,采用后載入方式實現(xiàn)。
15. 合理使用Flush
用戶端發(fā)送瀏覽請求后,服務(wù)器端一般要花銷200-500ms去處理這些請求,在此期間,用戶端瀏覽器處于等待狀態(tài),如果要減少用戶等待時間,可以在適當(dāng)?shù)奈恢檬褂胒lush,將已經(jīng)就緒的內(nèi)容推送到用戶端,這在php中很容易實現(xiàn)例如:
<!-- css, js --> </head> <?php flush();?> <body> ... <!-- content -->
16. 避免采用301、302轉(zhuǎn)向
當(dāng)瀏覽器、代理或搜索引擎派出的"爬蟲"對某一頁面或網(wǎng)址請求調(diào)用時,該調(diào)用頁面或網(wǎng)址所在的網(wǎng)絡(luò)服務(wù)器將會檢查一個名為.htaccess的文件。該文件包含如何處理特定請求的指令,并在安全性上扮演關(guān)鍵角色。用戶可對該文件進(jìn)行修改,通過這個文件來通知瀏覽器、代理或"爬蟲",被調(diào)用頁面屬于臨時移走 (302重定向)還是永久性移走(301重定向)。我們也可以通過網(wǎng)絡(luò)托管服務(wù)而不是.htaccess'文件來實現(xiàn)301/302永久性重定向。
17. 優(yōu)化圖片文件
優(yōu)化圖片文件,減小其尺寸,特別是縮略圖,一定要按尺寸生成縮略圖然后調(diào)用,不要在網(wǎng)頁中用resize方法實現(xiàn),雖然這樣看到的圖片外形笑了,但是其加載的數(shù)據(jù)量一點也沒減少。曾經(jīng)見過有人在網(wǎng)頁中加載的縮略圖,其真實尺寸有10M之巨…三門峽婦科醫(yī)院http://www.smxrlyy.com/
普通圖像、icon也要盡可能壓縮后,可以采用web圖像保存、減少顏色數(shù)等等方法實現(xiàn)。
18. 當(dāng)頁面內(nèi)容龐大到一定程度,可以采用分頁的方式展現(xiàn),或者taobao的那種翻頁后載入方式。
19. 使用多域名負(fù)載網(wǎng)頁內(nèi)的多個文件、圖片
有資料說明,IE在網(wǎng)頁載入過程中,在同1時刻,對同1域名并行加的HTTP請求數(shù) 量最高為2個,如果網(wǎng)頁需要加載的文件數(shù)量超過2個(通常遠(yuǎn)遠(yuǎn)超過..),要加快網(wǎng)頁訪問速度,最好將文件分布到多個域名,例如19樓,其js文件采用獨 立的域名,據(jù)說百度的圖片服務(wù)器數(shù)量在20臺以上。
“javascript減少頁面加載時間的方法”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!
文章標(biāo)題:javascript減少頁面加載時間的方法
本文URL:http://jinyejixie.com/article46/jjpceg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、域名注冊、企業(yè)建站、面包屑導(dǎo)航、商城網(wǎng)站、網(wǎng)站營銷
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)