2009-09-17 20 views
0

我有一些標籤是阿賈克斯動力。所以每次點擊一個標籤頁時,所有的數據都會被加載,包括javascripts。所以,如果他們點擊標籤A,然後點擊標籤B,最後選擇標籤A.所有標籤腳本將被加載兩次。加載JavaScript文件時,緩存如何工作?

現在我想知道如何緩存工作。他們第二次點擊Tab A這些腳本會下載多快?還是會像第一次那麼慢?

感謝

回答

2

假設一個相當常規的負載,該腳本將加載在第一時間,和從緩存從此拉出。

除非你在做一些棘手的事情。

就像你可以在更傳統的站點的第一頁請求中加載一個巨大的腳本,幷包含後續頁面的腳本一樣,但在第一次加載頁面後,瀏覽器將(通常)從緩存中取出它。

使用螢火蟲並觀察行爲。

+0

我猜測在實際腳本中的東西不會'走得更快,但對嗎? – chobo2 2009-09-17 05:58:11

+0

@ chobo2:如果瀏覽器正在重新解析JavaScript,即使該JavaScript駐留在從緩存中返回的文件中,瀏覽器仍然必須對該文件中的JavaScript進行JIT查詢。在包含該腳本的頁面內容被丟棄之後,任何瀏覽器都不可能嘗試保持JIT腳本。因此,雖然緩存的外部JavaScript文件將加速加載,但JavaScript仍然必須每次都被JIT處理。但說實話,無論如何,加載時間可能比JITing時間長很多。 – 2009-09-17 16:14:44

0

如果您正在加載相同的URL,瀏覽器將使用緩存版本。如果你想繞過緩存,添加「?」隨後在每次你調用它的時候給它一個隨機字符串。