4 回答

TA貢獻1829條經驗 獲得超4個贊
真正不干擾腳本的可能性有兩種:
通過頭部的script標簽包含一個外部腳本文件
通過正文底部的script標簽(在之前
</body></html>
)包含一個外部腳本文件
第二個可能更快,因為最初的Yahoo研究表明,某些瀏覽器在命中script標簽時會嘗試加載腳本文件,因此,在完成瀏覽器之前,它們不會加載頁面的其余部分。但是,如果腳本具有“就緒”部分,并且必須在DOM準備就緒后立即執行,則可能需要將其放在頭部。另一個問題是布局-如果您的腳本要更改頁面布局,則您希望它盡快加載,這樣您的頁面就不會花很長時間在用戶面前重新繪制自身。
如果外部腳本站點位于另一個域(例如外部窗口小部件)上,則可能值得將其放在底部,以避免它延遲頁面的加載。
對于任何性能問題,請自己制定基準 -一次完成研究可能會因您自己的本地設置或瀏覽器的更改而改變。

TA貢獻1850條經驗 獲得超11個贊
從來沒有這么干過-雅虎建議將腳本放在結束</body>
標記之前,這樣會產生一種幻覺,即頁面在空的緩存上加載速度更快(因為腳本不會阻止下載文檔的其余部分)。但是,如果您有一些要在頁面加載時運行的代碼,則僅在整個頁面加載后才開始執行。如果將腳本放在<head>
標記中,它們將在執行之前開始執行-因此,在準備好的緩存中,頁面實際上看起來加載得更快。
同樣,將腳本放在頁面底部的特權并非始終可用。如果需要在依賴于之前加載的庫或其他JavaScript代碼的視圖中包含內聯腳本,則必須將這些依賴項加載到<head>
標記中。
雅虎的所有建議都很有趣,但并不總是適用,應視具體情況進行考慮。

TA貢獻1818條經驗 獲得超7個贊
就像其他人所說的那樣,將其放置在html 主體 的結束標記之前。
前幾天,我們接到許多客戶的電話,抱怨他們的網站速度非常慢。我們在本地訪問了他們,發現他們花了20到30秒來加載單個頁面??紤]到服務器性能不佳,我們登錄了-但是Web和sql服務器的活動均為?0%。
幾分鐘后,我們意識到外部站點已關閉,我們正在將其鏈接至Javascript跟蹤標簽。這意味著瀏覽器正在點擊站點頂部的script標簽,并等待下載script文件。
因此,至少對于第三方腳本/外部腳本,我建議將其作為頁面的最后內容。然后,如果它們不可用,瀏覽器將至少加載該頁面直到該點為止-并且用戶將忽略該頁面。

TA貢獻1752條經驗 獲得超4個贊
總結一下,基于以上建議:
對于外部腳本(Google Analytics(分析),第三方營銷跟蹤器等),請將其放置在
</body>
代碼之前。對于影響頁面布局的腳本,請放在最前面。
對于依賴“ dom ready”的腳本(如jquery),請考慮放置在前面,
</body>
除非您出于特殊情況將腳本放在頭部。如果有依賴項的內聯腳本,請將所需的腳本放在頭。
添加回答
舉報