【发布时间】:2011-03-30 13:03:54
【问题描述】:
我需要能够检测图像是否损坏,并在图像链接损坏时替换为默认图像。我知道我可以使用图像代理来做到这一点,但我希望使用 javascript 即时完成。
【问题讨论】:
标签: javascript jquery
我需要能够检测图像是否损坏,并在图像链接损坏时替换为默认图像。我知道我可以使用图像代理来做到这一点,但我希望使用 javascript 即时完成。
【问题讨论】:
标签: javascript jquery
我相信这是img 元素的onerror 事件。 onerror=function(){} 虽然我没用过。
【讨论】:
你可以使用<img onerror='doWhateverFunction()'等等等等
http://msdn.microsoft.com/en-us/library/cc197053(v=VS.85).aspx
【讨论】:
代码示例:
<script language='javascript'>
function defaultImage(img)
{
img.onerror = "";
img.src = 'default.gif';
}
</script>
<img alt="My Image" src="someimage.gif" onerror="defaultImage(this);" />
【讨论】:
default.gif 也被破坏/未找到,这将导致无限循环。这就是为什么在stackoverflow.com/questions/92720/… 中,AC 响应在 defaultImage 函数中将 img.onerror 设置为空白
img.target.src = default.gif
onerror 将在 DOM 上向上传播,因此您可以为此类错误创建一个通用处理程序。
<script type="text/javascript">
jQuery(document).bind('error', function(event) {
console.log(event.target.src);
});
</script>
【讨论】: