2012-09-20 37 views
0

我有一個網頁,通過Jquery的GET ajax調用加載一個JavaScript文件和一個文本文件。我的問題是這樣的:如果我在那個頁面上有一個鏈接,它將你發送到同一個頁面但帶有url變量(即www.mysite.com - > www.mysite.com?id=10),它是否會重新下載整個頁面javascript文件和文本文件,還是將這些文件保存在緩存中?如果它正在重新載入文本文件,是否有辦法將它保存在緩存中並從緩存中爲每個後續重載調用它(在緩存中進行檢查並在該緩存中調用它)?重新加載/刷新頁面是否重新下載任何ajax/javascript腳本/文檔?

我問,因爲我不想讓用戶每次都重新下載文件,只是因爲我有鏈接轉到同一頁面。

是的,我知道我最好使它動態,因此頁面不必刷新。不過,爲了這個問題,請假定它必須這樣設置。

感謝

回答

0

每一個文件都在一個獨立的方式緩存。更改父文件URL的事實不會強制重新加載其他文件(如果其URL未更改)。

所以不要擔心:當你看另一個SO問題時,你不會再次下載圖像和js文件。

如果你的問題是關於父文件的,那就是直接加載的那個文件,如果你改變URL,它會被重新加載。你無法避免這種情況。但是,通過將大部分內容(js,圖像)放在URL不變的獨立文件中,您可以使它變得非常小而且微不足道。

+0

你是什麼意思的父文件?如果URL中的唯一更改是變量的添加,它會被視爲URL更改嗎?我特別擔心對文本文件的ajax調用。如果文件變大了,我不希望每次URL中的變量都要重新加載 – Nick

+0

是的,如果你只是把'?v = 1'改成'?v = 2',html文件將會重新加載。瀏覽器無法猜測它應該是相同的。 –

+0

好了,所以共識是,每次頁面變量改變時,通過jquery IS調用的文本文件都會重新下載? – Nick