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