網(wǎng)頁js加載失敗 js加載不出來,是什么問題?
js加載不出來,是什么問題?簡單說js加載時頁面會阻塞頁面渲染(卡?。簿褪侨绻惆堰^多js放在前面,頁面首加載就會出現(xiàn)比較長的白屏,而且js加載完會重新渲染一部分頁面(又是一波時間),而放在后面因
js加載不出來,是什么問題?
簡單說js加載時頁面會阻塞頁面渲染(卡住),也就是如果你把過多js放在前面,頁面首加載就會出現(xiàn)比較長的白屏,而且js加載完會重新渲染一部分頁面(又是一波時間),而放在后面因為HTML和css已經(jīng)讀完了,頁面樣式有了,雖然沒有js交互功能,但不影響用戶體驗,而因為js放在后面,所以頁面會比較快顯示出來,所以用戶體驗也好些,當(dāng)然這只是表面解釋。。。至于頁面渲染是一邊加載一邊渲染的,而讀css和HTML構(gòu)建Dom樹也算比較快的,但是遇到j(luò)s(script)就會終止渲染,直到讀取完js代碼,關(guān)于這個是因為底層操作原因(具體忘了),瀏覽器采用了阻塞方式,避免HTML/css跟js同步執(zhí)行時出現(xiàn)問題(好像是重復(fù)渲染等問題吧)。至于性能優(yōu)化,這個問題其實(shí)網(wǎng)上很多,你搜一下頁面性能優(yōu)化就能出現(xiàn)一堆,都是很完整的,也比較系統(tǒng)(沒事有問題多Google)
加載JS文件報錯如何解決?
你加載 JS 文件的 MIME 類型不對。每種文件都有一種叫 MIME 的類型。比如:JPE 的 MIME 是 image/jpeg,PNG的是image/png HTML 的是 text/html JS 文件的應(yīng)該是 application/x-javascript或者text/javascript(這種已經(jīng)不推薦使用了)。但是你的請求返回的是 text/plain 純文本類型。所以瀏覽器處于安全原因報錯,并且應(yīng)該不執(zhí)行你的 JS。請求 response 的 MIME 類型是在 response header 里面標(biāo)識的 其中有一項叫 Content-Type,你需要把這個值設(shè)置為 application/x-javascript。因為不知道你的服務(wù)器環(huán)境,所以沒有辦法知道具體你需要怎么設(shè)置。