【问题标题】:Images show and then disappear in Safari图像在 Safari 中显示然后消失
【发布时间】:2010-11-20 11:09:44
【问题描述】:

所以这真的很奇怪。如果您在 Safari 中转到 http://floridahome.palmbeachpost.com/ 并搜索列表,您会看到我们的图像未找到出现在真正应该出现图像的结果中。如果您在第一页上看不到我在说什么,请单击几页。如果您在 Firefox 或 IE 中进行相同的搜索,图像应该会显示出来。

奇怪的是,看起来图像加载了一瞬间然后消失了。抛出 onerror 事件,这就是我们显示占位符图像的原因。

如果有人能对此有所了解,我将永远感激不尽。

(我知道我们的消息来源没有经过验证,我明天第一件事就着手处理)

【问题讨论】:

  • 不确定是什么问题,但我可以验证我的 Safari 中是否发生了同样的事情。
  • 但是(在 safari 中)如果您单击图像转到该属性,然后返回它的罚款......非常奇怪。源代码也没有对我跳出来,我会再四处寻找,看看我能不能找到一个理由......必须热爱网络开发!!!
  • 是的,当然。这个真的让我难过!

标签: javascript html browser safari


【解决方案1】:

YAHOO.backyardpost.init(),有这个:

var imgs = document.images;
for (var i = 0; i < imgs.length; i++) {
    if ((!imgs[i].complete || 
        imgs[i].naturalHeight == 0 || 
        imgs[i].naturalWidth == 0) && 
        imgs[i].src.match(/services\.palmbeachpost/i)) 
    {
        imgs[i].src = '/static/img/gfx/img_not_available.jpg';
    }
}

什么时候调用它,你确定图像在调用时已经完全加载了吗?

鉴于缩小的代码,我无法在此行上设置断点,但我怀疑其中一个条件(可能是 imgs[i].complete)不是 true 并导致图像被替换。

有轶事证据 [1] [2] 表明 complete 属性在 Safari 中并不总是有效。

【讨论】:

    猜你喜欢
    • 2011-06-02
    • 1970-01-01
    • 2016-04-18
    • 1970-01-01
    • 1970-01-01
    • 2012-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多