我想刷新頁面,但想要使用緩存,並不知道如何做到這一點。有兩種情況:刷新頁面使用緩存
如果我在地址欄點擊並按下回車鍵(或從其他地方訪問的頁面),它從緩存中重新加載頁面/圖像。 太棒了!
如果我點擊刷新按鈕或使用Javascript來刷新頁面,它會再次抓住所有的圖像,並永遠佔用。 不太好!
我已經試過:top.location.reload(false);
和top.location.reload(true);
(我從一個iFrame發送此),並沒有使用緩存。我正在避免使用location
,因此它不會在瀏覽器歷史記錄中結束兩次。
問題:如何使用緩存圖像重新加載頁面?是否有不同的JavaScript功能或這是一個mod_expires問題?
感謝您提前提供任何幫助!
編輯:(從鉻信息:開發者工具)
- 當瀏覽網頁,我得到「從緩存中」所有圖片
- 當清爽的頁面,我得到「304 - 未修改」所有圖像(和它需要的下載每次)
編輯2:(從圖像,野生動物園頭:開發者工具)
Javascript:top.location.reload(false); (沒有緩存!)
Status Code:304 Not Modified
Request Headers
Cache-Control:max-age=0
If-Modified-Since:Tue, 28 Jun 2011 07:13:17 GMT
If-None-Match:"104684ae-a7d-66e41d40"
Referer:http://getdirectus.com/dev/media.php
User-Agent:Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_7; en-us) AppleWebKit/533.21.1 (KHTML, like Gecko) Version/5.0.5 Safari/533.21.1
Response Headers
Cache-Control:max-age=157680000
Connection:Keep-Alive
Date:Tue, 28 Jun 2011 16:56:50 GMT
Etag:"104684ae-a7d-66e41d40"
Expires:Sun, 26 Jun 2016 16:56:50 GMT
Keep-Alive:timeout=5, max=94
Server:Apache/2.0.54
導航頁:(使用高速緩存)
Status Code:200 OK
Response Headers**
Accept-Ranges:bytes
Cache-Control:max-age=157680000
Connection:Keep-Alive
Content-Length:2685
Content-Type:image/jpeg
Date:Tue, 28 Jun 2011 16:54:20 GMT
Etag:"104684ae-a7d-66e41d40"
Expires:Sun, 26 Jun 2016 16:54:20 GMT
Keep-Alive:timeout=5, max=99
Last-Modified:Tue, 28 Jun 2011 07:13:17 GMT
Server:Apache/2.0.54
也許我沒有理解這一點,但如果你想保留緩存,「刷新」的意義何在? –
它可以是a)服務器到期和/或b)客戶端到期(不是或小型緩存)不要忘記c)一些隨機值添加到URL,因爲你想保留圖片不在緩存中,但忘了它。下載螢火蟲,單擊NET標籤並查看標題 – mplungjan
@Brad - 具體來說,它是用於媒體縮略圖頁面。在AJAXed iFrame中上傳新圖像後,我想刷新頁面......但是每次我都會從服務器上重新加載頁面上的所有圖像。從技術上講,它只能加載新上傳的圖像。 – RANGER