2011-07-17 35 views
2

有沒有乾淨的方式來告訴瀏覽器不緩存圖像img標籤一樣力形象重裝HTML5

<img src="" cahe="no-cache"/> 

或HTML5力重裝呢?如果沒有,也許你知道我在哪裏可以提出這個問題,因爲問題已經存在很長一段時間了......

我知道你可以在src參數的末尾添加「?randomstring」或者使用服務器腳本來讀取文件併發送它與標題,這正是我現在正在做的,所以我不尋找黑客。

整個文檔的「no-cache」,「expire」和其他頭文件似乎不適用於圖像文件,或者我做錯了什麼。

+0

使用$(img).removeAttr(「attribute-name」)刪除不需要的屬性,緩存是服務器端,而img是客戶端腳本 – Naga

回答

4

您必須設置圖片的緩存標題而不是文檔。

HTML 5無法控制外部資源的緩存。

+0

如果我們正在討論html,能否提供一個示例?我知道如何做到服務器端。只是想知道我們可以在客戶端做到這一點。 – Martin

+0

您無法在客戶端上設置HTTP響應標頭。你必須做到服務器端。 – Quentin

+0

所以你可以只是回答 - 有沒有辦法做到這一點與HTML :) – Martin

0

你必須爲圖像設置這些標題,檢查你的web服務器的文檔,看看你可以做到這一點。

0

對於每個圖像,瀏覽器發送一個單獨的請求,web服務器通常直接提供靜態文件(包括圖像,CSS樣式表,JavaScript腳本文件等),而不會將它們提供給某種處理程序。因此,您應該諮詢您的Web服務器,以便像您所說的那樣設置頭部標識符Cach-Contro。 另一種方法是爲您的Web服務器編寫擴展(例如,ASP.NET與IIS7具有集成管道)以便自己將服務器靜態文件寫入服務器。這是您可以強制緩存服務器和客戶端不要緩存圖像並每次從服務器獲取它的唯一方法。