亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在同一個url中使用新的刷新圖像

在同一個url中使用新的刷新圖像

MYYA 2019-06-10 16:24:16
在同一個url中使用新的刷新圖像我是訪問我的網站上的一個鏈接,將提供一個新的圖像,每次訪問。我遇到的問題是,如果我嘗試在后臺加載圖像,然后更新頁面上的圖像,則圖像不會改變-盡管當我重新加載頁面時會更新它。var newImage = new Image();newImage.src = "http://localhost/image.jpg";function updateImage(){if(newImage.complete) {     document.getElementById("theText").src = newImage.src;     newImage = new Image();     number++;     newImage.src = "http://localhost/image/id/image.jpg?time=" + new Date();}     setTimeout(updateImage, 1000);}當Firefox看到它們時,標題:HTTP/1.x 200 OKCache-Control: no-cache, must-revalidatePragma: no-cacheTransfer-Encoding: chunkedContent-Type:  image/jpegExpires: Fri, 30 Oct 1998 14:19:41 GMTServer: Microsoft-HTTPAPI/1.0Date: Thu, 02 Jul 2009 23:06:04 GMT我需要強制刷新頁面上的圖像。有什么想法嗎?
查看完整描述

3 回答

?
墨色風雨

TA貢獻1853條經驗 獲得超6個贊

嘗試在url的末尾添加一個緩存斷路器:

newImage.src = "http://localhost/image.jpg?" + new Date().getTime();

這將在創建圖像時自動追加當前時間戳,并使瀏覽器重新查找圖像,而不是檢索緩存中的圖像。


查看完整回答
反對 回復 2019-06-10
?
蠱毒傳說

TA貢獻1895條經驗 獲得超3個贊

作為替代.。

newImage.src = "http://localhost/image.jpg?" + new Date().getTime();

.看起來.

newImage.src = "http://localhost/image.jpg#" + new Date().getTime();

.足夠欺騙瀏覽器緩存而不繞過任何上游緩存,前提是您返回正確的Cache-Control標題。盡管你可以用.。

Cache-Control: no-cache, must-revalidate

.你失去了If-Modified-SinceIf-None-Match標題所以就像.。

Cache-Control: max-age=0, must-revalidate

.應該防止瀏覽器重新下載整個圖像,如果它沒有真正改變。測試并在IE,Firefox和Chrome上工作。令人惱火的是,除非你用.

Cache-Control: no-store

雖然這可能仍然比用數百個相同的映像填充上游緩存更可取,特別是當它們在您自己的服務器上運行時。;-)

現在看起來Cache-Control: no-store也需要Chrome。


查看完整回答
反對 回復 2019-06-10
  • 3 回答
  • 0 關注
  • 822 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號