图像显示然后在Safari中消失

时间:2009-08-18 02:59:01

标签: javascript html browser safari

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

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

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

(我知道我们的消息来源没有验证,明天我将继续开展工作)

1 个答案:

答案 0 :(得分:2)

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中并不总是有效。