我有一个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