我有幾個包含jquery腳本的額外的模板。有時他們一起使用。我怎樣才能加載jQuery的JavaScript文件只有一次?如果設置模板變量很方便,我可以在包含該行之前設置並檢查一個模板變量。如何確保在Django中只包含一次JavaScript文件
2
A
回答
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
你可以通過所有必需的文件作爲背景變量,然後寫一個刪除重複並加載了剩下的模板標籤。
您也可以通過這種方式控制加載順序。
相關問題
- 1. 如何確保JavaScript在ASCX中使用時只包含一次
- 2. 如何確保JavaScript只加載一次
- 3. 確保用戶控件只包含一次
- 4. Javascript文件包含多次
- 5. Play Framework 1:只包含javascript文件一次的標籤
- 6. 動態地包含javascript文件只有一次
- 7. 如何確保列中包含一行
- 8. asp.net確保JavaScript只加載一次
- 9. 如何在Django模板中管理Javascript文件的包含
- 10. 如何在django中包含javascript
- 11. 如何在xslt中包含javaScript文件
- 12. 如何在Eclipse中包含JavaScript文件
- 13. 如何在HTML中包含JavaScript文件?
- 14. 如何在JavaScript文件中包含庫?
- 15. 只在git存儲庫中包含一次文件
- 16. 如何確保js包含在ascx文件中?
- 17. 如何確保數據庫文件只創建一次?
- 18. 如何確保我只打印一次?
- 19. 如何在(ASP.NET)項目中正確包含JavaScript文件?
- 20. Jade:如何包含一個JavaScript文件
- 21. 如何確保一個數組只包含唯一的數字在vba中
- 22. AngularJS ng只包含一次
- 23. 如何只包含文件存在
- 24. 如何進行一次包含shell中文件的文件
- 25. 如何確保一個窗口只在Cocoa中顯示一次?
- 26. 如何確保我只在我的部分中加載JS文件一次?
- 27. 如何防止在包含文件中包含兩次相同的文件?
- 28. 如何只在Eclipse項目中包含一些文件?
- 29. 如何確保phonegap js只在一個包含多個單獨頁面的應用程序中加載一次?
- 30. Django包含多次