即使图像无效,Firefox“onerror”也不会启动

问题描述:

我在image标签上有一个onerror处理程序,用于处理未找到远程图像时的切换。即使图像无效,Firefox“onerror”也不会启动

问题是,对于某些破碎的远程图像,它不起作用。

http://a3.twimg.com/profile_images/522455109/calvin-and-hobbessm_normal.jpg

<img onerror="this.src='/images/pic_not_found.png'" src="http://a3.twimg.com/profile_images/522455109/calvin-and-hobbessm_normal.jpg"> 

图片下面: 1)发现远程时图像,2)远程图像未找到(的onerror不触发),3)远程图像未找到(的onerror触发)

alt text

这不是一个断开的链接。

twimg.com实际上会返回一个带有您请求的网址名称的图片。

只需点击图像链接。这是不是你所看到的文字,它是一个图像。

更新

下面是一些代码,在所有浏览器上运行。
它做了一些基本的功能检测。

function handle(elem, img, state) 
{ 
    if ((typeof(elem.onerror) === 'function' && state === 'fail') 
     || (elem.width === 0) 
    ) 
    { 
     elem.src = img; 
    } 
} 

http://jsfiddle.net/VVcQj/1

它同时使用onloadonerror,但需要在JavaScript来处理这种情况定义的函数。

+0

它被打破了我。我们在看同样的事情吗? http://a3.twimg.com/profile_images/522455109/calvin-and-hobbessm_normal.jpg – 2010-10-15 01:52:58

+0

@明明,我看到... firefox做一些奇怪的事情(*创建一个图像的网址*).. – 2010-10-15 13:49:50

+0

@明, ..但'onload'错误适用于我这个特定的图像.. http://jsfiddle.net/nenwQ/ – 2010-10-15 14:01:01