2012-02-25 54 views
0

從視圖渲染速度的點,這裏是把<script>...</script><style>...</style>的最佳位置?在<head>...</head>之內,還是在<body>...</body>之後或之後呢?是否還有其他標籤可以放在<head>...</head>之外的其他標籤中,如<base>位置的CSS和腳本

+0

請不要使用[html5] [ CSS3對於什麼都沒有做HTML5或CSS3。 – BoltClock 2012-02-25 05:42:57

+0

@BoltClock問題,當我問這些問題,我不知道是否有中間HTML5和之前的規格有什麼區別,或者CSS3和之前的標籤。我把他們做確定答案會是關於html5和css3。我的標籤有問題嗎? – sawa 2012-02-25 05:45:20

+0

'html'標籤涵蓋'html'的所有版本,包括'html5'。如果您的問題特別針對HTML5,則應該只標記'html5'。相同的CSS/CSS3。 – 2012-02-25 05:47:11

回答

2

<style><link rel="stylesheet">需要在<head>。如果它們不是,則可以在沒有樣式的情況下渲染頁面,然後在裝入樣式時進行動態更改。

<script> S,在另一方面,可以在任何地方。就個人而言,我更喜歡在<head>(通常是定義函數的代碼)中加載外部JS文件,並且影響頁面本身的腳本恰好在</body>之前,以確保在運行之前所有元素都可用。

但是我確實有一個我編寫的新腳本框架,它允許我將<script>元素放置在任何位置,但是它們的代碼被延遲,因此它們就像在</body>之前放置一樣運行。這使我可以將腳本放在它們影響的頁面部分附近,而不會對頁面加載產生負面影響。

1

正如Kolink說,CSS樣式應在<head>部分去這樣的頁面永遠不會不被應用的樣式呈現。

如果<scripts>位於正文的最後,即<body>標記的前面,則將獲得最大頁面呈現速度。這是因爲可以在解析或運行腳本之前呈現頁面,而不是在分析和運行腳本之後才呈現頁面。

沒有在任何特定的順序也被標記爲現代瀏覽器deferasync運行,這將導致他們的加載和解析<scripts>與HTML的載入和顯示反序列化。

這對於響應用戶事件大多數腳本(喜歡的東西(鼠標移動,點擊,按鍵,等等可行的),但一切都不可行。比如,由代碼,不會使用任何腳本document.write()直接進入頁面內容必須加載之前調用它們的代碼,所以它通常會包含在<head>部分,因此它是可用的,而頁面正在解析和佈局