如果我把JavaScript中的head
標籤如下:JavaScript會干擾其他內容的加載嗎?
<head>
<script type="text/javascript" src="jQuery.js"></script>
<script type="text/javascript">
// my jscript
</script>
</head>
它會干擾其他內容的加載,如圖片,文字等?我只是和我的朋友爭論,他表示這將擾亂網站設計的加載。
如果我把JavaScript中的head
標籤如下:JavaScript會干擾其他內容的加載嗎?
<head>
<script type="text/javascript" src="jQuery.js"></script>
<script type="text/javascript">
// my jscript
</script>
</head>
它會干擾其他內容的加載,如圖片,文字等?我只是和我的朋友爭論,他表示這將擾亂網站設計的加載。
是的,除非您使用async
或defer
那麼javascript將在html內容之前加載。您可以將腳本移動到所有圖像/文本的下方,並將其放在結束標記之前。
現在,瀏覽器速度如此之快,除非您的網站過於複雜,否則它不是一個大問題。更不用說,jQuery在每次迭代中越來越快,越來越緊湊。
另一方面是一些現代瀏覽器並行加載多個資源,所以在這些瀏覽器中可能沒有太大問題。我不知道這個錯綜複雜的細節,也許別人會提供一些見解...
是的,它會阻止頁面渲染,直到外部腳本完成加載並完成執行。
是的。
這就是爲什麼使用「就緒」回調(在jQuery內可用)的重要性。這是確保只有在頁面加載完成後才能執行代碼的正確方法,這在大多數情況下都是您想要的。
<head>
<script type="text/javascript" src="jQuery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
// my jscript
}
</script>
</head>
如果您關心與問候的頁面加載速度更快:在頂部,JavaScript的底部
認沽CSS。 Steve Souders(高性能網站,O'Reilly) 發現,將樣式表移動到head元素的頂部可使頁面逐步加載 ,從而加快頁面加載速度。
對於腳本,情況正好相反。如果可能的話,將外部JavaScript 文件移動到頁面的底部,或者延遲或延遲加載JavaScript文件到 的頭部。
對於放置在HTML中的腳本 中的所有內容,漸進式呈現將被阻止。
太好了!謝謝你的回覆。當你解釋時,我現在明白了更多。 – Sinzo 2010-11-23 19:26:21