我正在爲Intranet應用程序工作。因此我對客戶機器有一些控制。我使用的JavaScript庫的規模有點大。我想在每臺機器(每臺瀏覽器)上預安裝或預加載或緩存JavaScript庫,以便它不會針對每個請求進行傳輸。我知道瀏覽器會爲後續請求緩存JavaScript庫,但我希望爲所有後續請求,會話和用戶緩存一次該庫。如何以最佳方式預安裝或預加載OR緩存JavaScript庫以優化性能?
什麼是實現這一目標的最佳機制?
我正在爲Intranet應用程序工作。因此我對客戶機器有一些控制。我使用的JavaScript庫的規模有點大。我想在每臺機器(每臺瀏覽器)上預安裝或預加載或緩存JavaScript庫,以便它不會針對每個請求進行傳輸。我知道瀏覽器會爲後續請求緩存JavaScript庫,但我希望爲所有後續請求,會話和用戶緩存一次該庫。如何以最佳方式預安裝或預加載OR緩存JavaScript庫以優化性能?
什麼是實現這一目標的最佳機制?
您不需要爲此訪問客戶端計算機。最佳做法是所有服務器端:
最後兩點意味着內容被緩存直到它發生變化。你可以使用官方發佈的實際版本號(例如jquery-1.4.2.min.js,1.4.2是版本號)。對於您自己的應用程序的代碼,通常您會使用文件的mtime(最後修改時間)作爲查詢字符串。例如:
<script type="text/javascript" src="/js/code.js?1233454356"></script>
?
從文件的修改時間生成後。客戶端下載一次,由於遠期未來的Expires
標題,它將不會再次下載,直到版本號更改,直到文件更改纔會發生。
在你的JS上執行單獨的邏輯,然後你可以在第一次用戶訪問時加載腳本(邏輯),然後用會話/ cookie不再加載這些文件,但它們將在緩存上,當你需要腳本時只需包含它們,它們就會從緩存中緩存。
謝謝。這有助於。 – Kabeer 2010-03-15 07:27:11
@Kabeer不客氣 – cletus 2010-03-15 07:37:26