[問題] Chrome用innerHTML與Cache圖片問題

看板Web_Design作者 (飛梭之影)時間13年前 (2013/02/03 23:39), 編輯推噓3(3013)
留言16則, 4人參與, 最新討論串1/1
各位好 因為程式需要製作一個相簿縮圖瀏覽功能 程式可能會出現一種情況 第一次進去時 Load 一百張圖 使用者選項操作完後變 70 張圖加上另外 30 張新圖 基本上用 innerHTML 去重新插入這個頁面即可 但是在圖片快取的部分發生了嚴重的問題 Firefox 下那 70 張圖都是執行完就繼續存在不會 reload 但是 Chrome (以及 Safari) 會發生那 70 張圖都要重新 load 進來 看了一下 debug 工具的 Network 圖片的 Cache-Control 是 Max-Age=604800 Firefox 不會重新向 Server 要 但是 Chrome 會一直把那 70 張圖都重新向 Server 要一次 要回來都是 HTTP Response 304 完全無視 Cache-Control 請問有沒有什麼方法讓 Chrome 像 Firefox 一樣 強制圖片使用本地快取不要再向 Server 詢問一次? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.166.234.66

02/03 23:53, , 1F
加亂數get變數
02/03 23:53, 1F

02/04 03:30, , 2F
請問亂數是指什麼?我圖片URL都維持相同
02/04 03:30, 2F

02/04 09:42, , 3F
你確定chrome有回去要???
02/04 09:42, 3F

02/04 09:58, , 4F
確定,因為都有回304每張都花了幾百mini second時間
02/04 09:58, 4F

02/04 10:53, , 5F
304的意思是他認為是一樣東西 直接從快取拿
02/04 10:53, 5F

02/04 10:54, , 6F
而且不要快取 Cache-Control應該是no-cache
02/04 10:54, 6F

02/04 21:00, , 7F
啊啊...我是希望永遠使用 Cache 不是不要快取
02/04 21:00, 7F

02/04 21:01, , 8F
因為 Firefox 不會去詢問 304 會直接繪製畫面所以完全沒影響
02/04 21:01, 8F

02/04 21:01, , 9F
可是 Chrome 還是會把每一張圖片都清掉後再問一次
02/04 21:01, 9F

02/04 21:02, , 10F
得到 304 後才從 Cache 中撈出圖片來
02/04 21:02, 10F

02/04 21:02, , 11F
造成畫面上 70 張圖還是被清掉重新再跑一次一張一張 load
02/04 21:02, 11F

02/04 21:40, , 12F
那就不要刪掉那些圖片 改用display:none試看看
02/04 21:40, 12F

02/04 22:51, , 13F
因為是PHP會丟一串XML來,Javascript解析後再innerHTML
02/04 22:51, 13F

02/04 22:52, , 14F
所以也不能用這種方式,無法預期會來的資料串是什麼
02/04 22:52, 14F

02/04 22:53, , 15F
不過有可能直接複製 img 到另一處或存到 new Image()內嗎?
02/04 22:53, 15F

02/04 22:53, , 16F
找了一天還是找不到強制 Chrome 使用 Cache 的解決方案
02/04 22:53, 16F
文章代碼(AID): #1H3eJ3wD (Web_Design)