2009-06-10 45 views

回答

8

我的建議:只需在您的基地的<head>上包含jQuery並稱之爲一天。無需擔心孩子模板是否使用jQuery,並且在首頁加載時只有19kb的下載空間,就是這樣。如果您使用Google的API雲,它可能甚至沒有,因爲用戶可能會從另一個站點緩存它。

這可能不適合你,但我建議你考慮它,如果可能的話。

0

您可以爲腳本和底模板中的其他額外元素定義單獨的塊。 在腳本空白的基本模板離開塊中。在需要擴展基礎的模板中填充鏈接到文件。

5

我對這個問題的常用方法是將我的所有子模板都包裝在一個模板中,以處理我的包含(JS和CSS)。然後我確定我的緩存設置正確,以便這些腳本只能下載一次。換句話說,我強制下載第一個視圖上的所有外部腳本,然後依靠緩存不要每次重新下載JS。

將您的所有JS合併到一個文件中也將縮短下載時間,因爲會減少將生成的請求。

另一件要注意的是,你提到把JS放在頭上。儘管大多數人都這樣做,但將JS放在頭上可能會使頁面顯示加載速度變慢。 JS文件不是並行下載的,所以它們會阻止所有其他下載。谷歌和雅虎建議儘可能將JS放在頁面底部以改善用戶體驗。

請參閱Yahoo YSlow工具和Google PageSpeed工具。

3

我主要是硬着頭皮與每個模板加載jQuery的。但是如果你確實需要這個功能,那麼我會推薦一個自定義模板標籤。 Check out the docs,特別是關於在上下文中設置變量的部分。

0

你可以通過所有必需的文件作爲背景變量,然後寫一個刪除重複並加載了剩下的模板標籤。

您也可以通過這種方式控制加載順序。

相關問題