【问题标题】:Forcing IE to clear an image强制 IE 清除图像
【发布时间】:2012-05-31 09:16:13
【问题描述】:

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

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

这个解决方案在 IE7 中不起作用。我计划使用一个小的透明 gif 作为 src 而不是空的,这样它就会快速换出图像,然后开始加载下一个。我将在页面中添加一个图像标签,以便将其缓存在用户浏览器中,以使图像加载接近即时。这听起来像是一个好的解决方案吗?有没有我忽略的主要缺点或注意事项?

这很hacky,我真的想要一种更优雅的方式。

【问题讨论】:

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


    【解决方案1】:

    在交换 SRC 之前从 DOM 中移除 IMG 标签并重新插入。

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

    【讨论】:

    • 看起来 IE7 不支持数据 URI - 所以在这种情况下这对我没有帮助。简单地删除图像并重新插入它是一个合法的选择,尽管它比我计划实施的内容有什么好处吗?
    • 是的,您不需要 top 再次发出 HTTP 请求。
    猜你喜欢
    • 1970-01-01
    • 2019-10-21
    • 2013-04-26
    • 2013-09-06
    • 2017-05-19
    • 1970-01-01
    • 1970-01-01
    • 2012-03-01
    • 1970-01-01
    相关资源
    最近更新 更多