首頁 >web前端 >js教程 >為什麼我的動態載入圖片在不重新載入頁面的情況下無法更新?

為什麼我的動態載入圖片在不重新載入頁面的情況下無法更新?

DDD
DDD原創
2024-12-11 11:42:10972瀏覽

Why Isn't My Dynamically Loaded Image Updating Without a Page Reload?

疑難排解:圖片未動態更新

造訪每次要求時提供新圖片的連結時,您可能會遇到圖片載入到除非您重新載入頁面,否則頁面上的背景無法更新。

下面的程式碼說明了問題:

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);
}

在這種情況下,即使請求標頭指示快取已停用,頁面上的圖片也不會更新:

HTTP/1.x 200 OK
Cache-Control: no-cache, must-revalidate
Pragma: no-cache

解決方案:Cachebreaker

要強制刷新圖像,請在末尾添加一個緩存破壞器URL:

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

透過附加當前時間戳,您可以確保瀏覽器將從伺服器檢索圖像而不是使用快取版本。此技術將允許圖像按預期在頁面上動態更新。

以上是為什麼我的動態載入圖片在不重新載入頁面的情況下無法更新?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn