隨著互聯(lián)網(wǎng)用戶需求的提升,加上移動(dòng)設(shè)備的越來越普及和流行,網(wǎng)站加載速度越來越受到站長(zhǎng)的關(guān)注。網(wǎng)站加載時(shí)間是用戶流失的一個(gè)主要原因,普通用戶是不會(huì)有耐心來等待一個(gè)超長(zhǎng)的網(wǎng)頁(yè)加載,而這一點(diǎn)直接影響到網(wǎng)站的運(yùn)營(yíng)。
在百度站長(zhǎng)平臺(tái)頁(yè)面優(yōu)化建議中,百度就著重檢查了網(wǎng)站加載時(shí)間這一塊,并針對(duì)首字節(jié)時(shí)間、使用長(zhǎng)鏈接、啟用gzip壓縮、圖片壓縮、設(shè)置靜態(tài)內(nèi)容緩存時(shí)間、合理使用Cookies、合并CSS和JS文件等方面給出了優(yōu)化建議。這些就不一一說了,下面就談?wù)劸W(wǎng)頁(yè)如何設(shè)置JS文件提高加載速度。
絕大部分網(wǎng)頁(yè)都會(huì)把JS文件放在head中,但是很多瀏覽器都會(huì)使用單一的線程來做網(wǎng)頁(yè)頁(yè)面的加載和JS腳本處理,也就是當(dāng)執(zhí)行引擎遇到script代碼的時(shí)候,此時(shí)頁(yè)面后面的加載都必須等JS執(zhí)行完畢。如果JS執(zhí)行速度慢,那么用戶就只能死等了,此時(shí)用戶就很可能關(guān)掉網(wǎng)頁(yè)。
IE8,F(xiàn)irefox3.5和Chrome2都實(shí)現(xiàn)了js的并行下載,這個(gè)相當(dāng)不錯(cuò)的,自動(dòng)就縮短了JS的執(zhí)行時(shí)間,但是還是會(huì)阻礙一些其他資源的下載。比如說JS文件后的圖片代碼要等到JS執(zhí)行完畢后才會(huì)進(jìn)行加載,這樣還是可能造成用戶的等待,如何做呢?
一、JS文件位置調(diào)整
既然JS文件放在前面后延遲后面代碼的加載,那么我們可以考慮將JS放在/body前或更厚,這樣就可以讓script前的html好的呈現(xiàn),不會(huì)讓用戶看到空白頁(yè)面,提高了體驗(yàn)度。
二、合并JS文件
盡管在將JS文件位置后移后可以讓其他代碼優(yōu)先加載,但在執(zhí)行JS文件的時(shí)候任然比較耗費(fèi)時(shí)間,如果JS文件比較多,就需要進(jìn)行多次“Get”請(qǐng)求,延長(zhǎng)加載速度。那么我們自然就是要減少Get請(qǐng)求。通常有兩種方案:
一:合并js文件,比如將1.js、2.js和3.js合并掉。
第二:利用第三方工具,比如php中的Minify。
關(guān)于合并JS,是用得比較多的,絕大部分網(wǎng)站都是外部調(diào)用JS,而現(xiàn)在把調(diào)用的JS合并到一起也是很常見的。
三、最后執(zhí)行JS文件
不管是把JS文件放在腳尾,還是合并JS文件,都是治標(biāo)不治本,也就是無限的去縮短JS執(zhí)行時(shí)間,并且避免JS執(zhí)行與代碼加載互相沖突,但是這樣只是讓html代碼文件盡管加載,還是不能很好的避免JS執(zhí)行與代碼加載互阻,當(dāng)web頁(yè)面越來越復(fù)雜,JS文件越來越多,這個(gè)阻礙就會(huì)越來越大。
所以最好的辦法就是讓JS文件最后加載,也就是頁(yè)面全部呈現(xiàn)完再追加JS腳本,當(dāng)window.onload事件觸發(fā)完后,我們才開始加載JS,這樣完全不會(huì)讓用戶去等待網(wǎng)站的主題內(nèi)容加載,目前有很多大型網(wǎng)站就是利用的這個(gè)。這一點(diǎn)需要與技術(shù)人員協(xié)作完成或自己動(dòng)手在網(wǎng)上找代碼,不過個(gè)人建議還是教給會(huì)的人完成,自己可以先學(xué),以免出現(xiàn)失誤,得不償失。
以上就是個(gè)人的一些淺見,所以除非需要將JS文件放在head位置,否側(cè)建議應(yīng)該將JS文件放在/body之前或是更后面,同時(shí)合理的合并JS文件,減少GET次數(shù),如果無限制還可以設(shè)置JS最后執(zhí)行,當(dāng)然是不影響網(wǎng)頁(yè)整體UI的情況下,這樣大大提高了網(wǎng)頁(yè)主題信息的加載速度。提高網(wǎng)站的用戶體驗(yàn)。
本文標(biāo)題:如何調(diào)整JS文件提高網(wǎng)頁(yè)速度?
本文網(wǎng)址:http://aaarwkj.com/news23/58923.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、網(wǎng)站導(dǎo)航、外貿(mào)建站、移動(dòng)網(wǎng)站建設(shè)、標(biāo)簽優(yōu)化、App設(shè)計(jì)
廣告
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源:
創(chuàng)新互聯(lián)