4 回答

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

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

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

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