强制IE清除图像

时间:2012-05-24 18:41:02

标签: javascript html internet-explorer caching internet-explorer-7

我有一个弹出窗口中的图片标记。此弹出窗口显示的图像取决于用户单击的内容。弹出窗口关闭(这只是隐藏弹出窗口,它不会从DOM中删除任何内容),然后单击一个新项目,弹出窗口将被重新显示,并且图像的src属性将更改为新的。 / p>

我遇到的问题是,在IE中,它将保留旧图像,直到下载新图像。通常情况下这不是问题,但图像是对处理程序的调用,可能需要几秒钟。通过将src属性设置为空,然后将其设置为处理程序,我能够在IE8和IE9中修复此问题。这在插入新图像之前正确清除了图像。

此解决方案在IE7中不起作用。我打算使用一个小的清晰gif作为src而不是空,这样它会快速换出图像然后开始加载下一个。我将向页面添加一个图像标记,以便在用户浏览器中缓存它以使图像近乎加载。这听起来像是一个好的解决方案吗?我忽略了任何重大缺点或警告吗?

这很黑,我真的很喜欢这样做的优雅方式。

1 个答案:

答案 0 :(得分:2)

从DOM中删除IMG标记,然后在交换SRC之前重新插入它。

或者,您可以使用a data URI并使用编码为Base64的空白图片。