html5 是否有这个功能:图片加载失败即显示别的图片

html5 是否有这个功能:图片加载失败即显示别的图片?

阅读 13.4k
6 个回答

大概是这个样子的:

function loadImage(obj, url, defaultUrl) {
    var img = new Image();
    img.src = url;
    img.onload = function() {
        obj.appendChild( img );
    }
    img.onerror = function() {
        obj.innerHTML += "<img src='"+defaultUrl+"' />";
    }
}
<img src="xxx.jpg" onerror="this.src='default.jpg'" >

onError事件
http://www.w3school.com.cn/jsref/event_onerror.asp

这个事件只有在加载目标对象不存在(http 404 header)时才会触发

可以服务器端判断,如果出现异常,服务器自动输出一个你给定的图片

如果高宽已知:

<div style="width: ...; height: ...; background: url(...) ...;">
    <div style="width: ...; height: ...; background: url(...) ...;"></div>
</div>
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进