2010-03-15 43 views
2

我正在爲Intranet應用程序工作。因此我對客戶機器有一些控制。我使用的JavaScript庫的規模有點大。我想在每臺機器(每臺瀏覽器)上預安裝或預加載或緩存JavaScript庫,以便它不會針對每個請求進行傳輸。我知道瀏覽器會爲後續請求緩存JavaScript庫,但我希望爲所有後續請求,會話和用戶緩存一次該庫。如何以最佳方式預安裝或預加載OR緩存JavaScript庫以優化性能?

什麼是實現這一目標的最佳機制?

回答

4

您不需要爲此訪問客戶端計算機。最佳做法是所有服務器端:

  • GZip應有盡有;
  • 最小化所有Javascript和CSS;
  • 最小化外部HTTP請求的數量。嘗試保留這些,例如,1-5 JS文件,1-5 CSS文件和一些圖像。如果您有很多圖像,可能需要使用CSS spriting;
  • 爲您的圖像,CSS和Javascript版本;和
  • 對所有圖像,CSS和Javascript使用far futures Expires標題。

最後兩點意味着內容被緩存直到它發生變化。你可以使用官方發佈的實際版本號(例如jquery-1.4.2.min.js,1.4.2是版本號)。對於您自己的應用程序的代碼,通常您會使用文件的mtime(最後修改時間)作爲查詢字符串。例如:

<script type="text/javascript" src="/js/code.js?1233454356"></script> 

?從文件的修改時間生成後。客戶端下載一次,由於遠期未來的Expires標題,它將不會再次下載,直到版本號更改,直到文件更改纔會發生。

+0

謝謝。這有助於。 – Kabeer 2010-03-15 07:27:11

+0

@Kabeer不客氣 – cletus 2010-03-15 07:37:26

0

在你的JS上執行單獨的邏輯,然後你可以在第一次用戶訪問時加載腳本(邏輯),然後用會話/ cookie不再加載這些文件,但它們將在緩存上,當你需要腳本時只需包含它們,它們就會從緩存中緩存。

相關問題