IE动态图像缓存问题?

rde*_*itt 5 html javascript internet-explorer jsp tomcat

我有一个加载多个iframe的html页面,其中嵌入了从Tomcat服务器页面(.jsp)创建的动态图像.这与Chrome和Firefox预期的一样,但由于某种原因,IE显示所有图像相同(作为第一个图像).我创建了一个例子:

http://coupondiscounts.com/jsImageTest.html

jsImageTest.html - 此页面使用Javascript一次一个地在单独的iframe中加载6个testImageFrame.html页面实例.
testImageFrame.html - 这是在所有iframe中加载的页面.它只包含一个写出当前时间的JavaScript块和一个img标记.img由不同服务器上的.jsp页面动态生成.它应该是黑色背景上的白色盒子.在框中是当前时间(来自使用Java的Tomcat服务器)和在0和1之间随机创建的双精度.

会发生什么(在IE中):该页面几乎立即加载了四个相同的iframe.根据您的机器速度,JavaScript时间可能会有一两秒的变化.图像的时间将与随机数相同.即使最后两个iframe在其他iframe之后加载5秒和10秒(使用JavaScript setTimeout())也是如此.
应该发生什么(就像在Chrome和FF中一样):页面加载相同的4个iframe,但图像中的随机数将不同.图像中的时间偶尔也会跨越一秒.

任何人都知道这里发生了什么?IE正在做一些奇怪的缓存吗?图像标题具有"无缓存","无存储"以及所有这些.我已经在IE6和7上尝试过了.您可以使用"下一步"按钮创建另一个iframe.在IE中,图像始终相同.

注意:我并不真的需要iframe,只需要图像,但如果我只使用img标签,问题也会出现在Chrome和FF中.我也不需要动态加载这些iframe,我只是想进一步抽象问题并允许后两个图像的延迟加载.

Aar*_*run 0

传递缓存破坏变量,或设置无缓存标头。

IE(无双关语)

<%
response.setHeader("Cache-Control","no-cache"); //HTTP 1.1
response.setHeader("Pragma","no-cache"); //HTTP 1.0
response.setDateHeader ("Expires", 0); //prevents caching at the proxy server
%>
Run Code Online (Sandbox Code Playgroud)