我有一個html頁面正在加載多個嵌入了從Tomcat服務器頁面(.jsp)創建的動態圖像的iframe。這可以從Chrome和Firefox中按預期工作,但由於某些原因,IE顯示的所有圖像都是相同的(如第一張圖像)。我創建了一個例子:
IE動態圖像緩存問題?
http://coupondiscounts.com/jsImageTest.html
jsImageTest.html - 本頁面只需加載testImageFrame.html頁的6個實例在單獨的I幀一處,一時間,使用Javascript。
testImageFrame.html - 這是加載到所有iframe中的頁面。它只包含一個寫出當前時間的JavaScript塊和一個img標籤。 img是由不同服務器上的.jsp頁面動態生成的。它應該是黑色背景上的白色框。在框中是當前時間(從使用Java Tomcat服務器)和隨機生成的雙0之間
會發生什麼(在IE):頁面幾乎立即載入四個相同的I幀。根據機器的速度,JavaScript時間可能會相差一兩秒。圖像的時間將與隨機數一樣。即使對於其他兩個加載5秒和10秒的最後兩個iframe,使用JavaScript setTimeout()也是如此。
會發生什麼(如在Chrome和FF中所做的那樣):頁面加載相同的4個iframe,但圖像中的隨機數字會有所不同。圖像中的時間偶爾還會跨越一秒。
任何人都知道這裏發生了什麼? IE做了一些奇怪的緩存?圖像頭包含「no-cache」,「no-store」等等。我已經在IE6和7上試過了。你可以使用「Next」按鈕創建另一個iframe。在IE中,圖像總是相同的。
評論:我並不是真的需要iframe,只是圖片,但如果我只使用img標籤,問題也出現在Chrome和FF中。我也不需要動態加載這些iframe,我只是試圖進一步抽象這個問題,並允許延遲加載後一張圖片。
-1由於OP已經聲明他們已經嘗試了這些步驟。 – Jaymz 2010-06-14 21:41:57
... Undid downvote for setDateHeader :) – Jaymz 2010-06-14 21:43:02
我也說過一個緩存中斷變量。許多瀏覽器不會在URL中使用'?'來緩存頁面。所以他可以使用:http://hostname.com/mypage.jsp?time = sometime編輯:TY :) – 2010-06-14 21:44:01