2011-01-24 102 views
0

我有一個腳本,我在許多網站使用。JS需要很多時間來評估

除了腳本嵌入頁面的一個站點載入非常非常緩慢(我不認爲它是緩慢的連接方式,但腳本方式),它工作正常。

事情是這樣的:(I用於在Chrome時間軸)

<body> .... 
<script...>here I load script tag into the head</script> 
    .. </body> 

的HEAD腳本5秒後加載。 (所以這段代碼運行良好),但它的評估只發生在29秒後!

難道是其他腳本阻止我的腳本的評估?這可能是因爲劇本放在身體而不是頭部?

+1

我們應該猜測腳本是什麼? :)張貼腳本或相關部分,也許有人會注意到一些不尋常的東西。另外,這個網站有什麼不同?它可能會加載一些JS框架嗎?也許它解析`.js`文件作爲服務器端? – 2011-01-24 08:46:41

回答

1

不阻礙,但推遲。是。如果它裝載了腳本和其他重物(用於E.A.閃光),則可能是這種情況。頭部標籤首先被加載,因此如果其在體內,則它將被加工。閱讀這一個:Load and execution sequence of a web page?

1

如果您的腳本設置爲運行「onload」並且該頁面需要29秒加載,則會導致延遲。

將腳本包含在HTML文件的底部實際上被認爲是最佳的,我認爲這是你所做的。將腳本放在body標籤中,而不是頭部,會導致頁面加載速度加快。

更新

這裏是爲什麼你應該把腳本在你的網頁的底部一定的參考...

出於性能:

http://developer.yahoo.com/performance/rules.html#js_bottom

對於搜索引擎優化(只有真正相關,如果你有很長一段inli ne JavaScript):

據稱,一些搜索引擎只下載第一個「n」千字節的網頁 - 所以你不希望你的JavaScript包含在頁面的那一部分,因爲它會阻止真正的內容被索引。

谷歌分析

現在,谷歌Analytics(分析)是一個有趣的一個。他們希望您將JavaScript放在主體的頂部,原因如下。

如果您的網頁需要4秒才能加載,則將Google Analytics JavaScript放在正文的頂部意味着幾乎所有訪問都會記錄到Google。如果您將Google Analytics(分析)JavaScript置於網頁底部,那麼在頁面完全加載之前到達頁面並再次離開的訪問者將不會被記錄。

示例...我到達您的網站上查找有關「汽車」的信息,只要頁面出現在屏幕上,我就會看到「汽車」一詞並點擊它。如果Analytics JavaScript位於頁面的頂部,您會看到我進入主頁並點擊了汽車。如果你把它放在底部,你會認爲我直接到達了「汽車」頁面。因此,爲了準確,您需要將Google Analytics JavaScript放在正文標籤後面。

+0

爲什麼Google分析建議放在BODY的頂部? – Himberjack 2011-01-24 09:42:22