之前)
2. 組織腳本每個(gè)標(biāo)簽初始下載都會(huì)阻塞頁面渲染,所以減少頁面包含的標(biāo)簽數(shù)量有助于改善這一情況。考慮到到HTTP請(qǐng)求會(huì)額外帶來性能的開銷。下載單個(gè)100B的文件比下載4個(gè)25B的文件更快。所以,減少頁面中外鏈腳本文件的數(shù)量會(huì)改善性能。
3. 無阻塞的腳本延遲的腳本:帶有defer屬性的標(biāo)簽,需要瀏覽器支持
動(dòng)態(tài)腳本元素:在跨瀏覽器兼容性和易用的優(yōu)勢(shì),是最通用的無阻塞加載解決方案
XMLHttpRequest注入:先創(chuàng)建一個(gè)XHR對(duì)象,然后用她下載javascript文件,最后通過創(chuàng)建動(dòng)態(tài)元素將代碼注入頁面中
var xhr = new XMLHttpRequest(); xhr.open("get","file.js",true); xhr.onreadystatechange = funtion(){ if(xhr.readyState == 4){ if(xhr.status>=200&&xhr.status<300||xhr.status==304){ var script = document.creatElement("script"); script.type="text/javascript"; script.text=xhr.responseText; document.body.appendChild(script); } } }; xhr.send(null); //由于代碼是在<閱讀需要支付1元查看