即使图像无效,Firefox"onerror"也不会触发

min*_*eow 5 javascript firefox mime-types

我在image标签上有一个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">
Run Code Online (Sandbox Code Playgroud)

图片如下:1)找到远程图像时,2)未找到远程图像(未触发错误),3)未找到远程图像(触发错误)

替代文字

Gab*_*oli 5

这不是一个破碎的环节.

twimg.com实际上您所请求的网址的名称返回图像.

只需点击图片链接即可.它不是你看到的文字,它是一个图像.

更新

以下是一些适用于所有浏览器的代码.
它做了一些基本的功能检测.

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

http://jsfiddle.net/VVcQj/1

它使用onloadonerror,但需要在javascript中定义的函数来处理这种情况.