每次我把我的js文件放在頁面底部時,這個問題一直困擾着我。如果我在關閉body
標籤之前將所有js文件放在底部,那麼我認爲瀏覽器將首先下載所有html和樣式表,然後它將解析html和css,最後它將發送js文件的請求。所以,我應該使用已經在底部身體標記之前的腳本的延遲嗎?
- 將使用
defer
在js文件已經在底部有什麼區別? - 剛剛在身體標記呈現阻塞之前的非延遲腳本?
我的另一個問題是,如果我把所有的js文件放在頭上,並使用defer
就可以了。這是否相當於將所有js文件放在底部?在瀏覽器向服務器發出請求並繼續下載HTML文件的其餘部分或者在下載完所有html和css後纔會向服務器發出請求,會在head
中看到js?
據我所知async
相當於defer
和唯一的區別是js將在下載時執行,而不考慮文件的順序。所以,
- 對於已經在底部的js文件,除了執行它們的順序以外,是否會使用
async
?
是的,延遲基本上類似於把標籤放在身體的盡頭。 – dandavis