【问题标题】:IE displaying broken images, 'show image' makes them display fineIE 显示损坏的图像,“显示图像”使它们显示正常
【发布时间】:2013-01-15 20:29:11
【问题描述】:

在此站点上:http://wyattorr.reuniondesign.com/collections/spring-2013 Internet Explorer 间歇性地显示损坏的图像。我第一次加载页面时,大多数图像都加载得很好,但是在随后的加载中,所有图像都显示为损坏。如果我右键单击并选择“显示图像”,则图像显示完全正常。

可能的问题: 我正在使用加载的 jquery 插件图像,这可能与它有关吗?您会认为这只会使图像隐藏...

有趣的笔记: 损坏的图像以正确的尺寸显示,这意味着它们已经加载并且 IE 知道它们的尺寸。

我的 IE 专业知识即将结束...有什么想法吗?

【问题讨论】:

  • 我面临着完全相同的问题。它似乎只存在于 IE10 中。你有没有找到任何永久的解决方案?我已经能够确定使用 JS 动态加载的图像似乎不受此问题的影响。我正在使用 Lazyload 来加快页面加载速度,这似乎是一个额外的好处。

标签: image internet-explorer broken-image


【解决方案1】:

为此有一个open bug in imagesloaded

但是,我也看到了这个问题,没有使用 imagesloaded。就像您的情况一样,IE 中存在图像损坏的间歇性问题(所有其他主要浏览器都很好)。事实证明,服务器提供的图像没有内容类型的标头,当重新配置以提供正确的标头时,问题就消失了。

错误的标头似乎暴露了 IE 启动和中止加载图像的方式的潜在问题(这种行为似乎也是导致图像加载错误的原因)。 IE 尝试使用look ahead pre-parser 来加速页面加载,该look ahead pre-parser 在主解析器有机会之前先发制人地请求图像。有时IE会stop and restart解析过程。

发生这种情况时,IE 会中止预解析器的图像下载。根据时间的不同,它显然并不总是重新开始下载,或者不会使用完全下载的图像更新页面,从而导致图像损坏(至少在图像缺少内容类型标题的情况下)。其他浏览器没有这个问题,即使图像缺少内容类型标题。

采取措施prevent document mode restarts 并确保服务器正确设置图像的内容类型标头可能会有所帮助。

【讨论】:

    猜你喜欢
    • 2010-12-14
    • 2013-09-13
    • 1970-01-01
    • 2013-08-04
    • 1970-01-01
    • 2018-05-05
    • 2019-02-13
    • 2017-12-07
    • 1970-01-01
    相关资源
    最近更新 更多