Mag*_*iel 19
用很少的代码实现这一点的非常简单和最好的方法
<img class="avatar" src="img/one.jpg" alt="Not Found" onerror=this.src="img/undefined.jpg">
Run Code Online (Sandbox Code Playgroud)
对我来说上面的作品很完美!
emr*_*rea 10
您可以使用img元素的CSS background-image属性执行此操作,即
img
{
background-image:url('default.png');
}
Run Code Online (Sandbox Code Playgroud)
但是,您必须为此工作提供宽度或高度(当找不到img-src时):
img
{
background-image:url('default.png');
width:400px;
}
Run Code Online (Sandbox Code Playgroud)
<object data="foobar.png" width=200 height=200>
<img src="test.png" alt="Just testing.">
</object>
Run Code Online (Sandbox Code Playgroud)
这foobar.png是主要图像,test.png是后备图像.通过object元素的语义,img当且仅当不能使用主数据(由data属性指定)时,才应呈现元素(此处为元素)的内容.
虽然浏览器object在过去一年的实现中有很多错误,但这种简单的技术似乎适用于现代版本的IE,Firefox,Chrome.
是的,你可以只使用 html 来做到这一点,当找不到 img src 时,它会抛出错误,所以这里我们可以处理它。还有一点是设置this.onerror = null进行递归调用(默认图片未找到)
<img alt="User Image" class="user-image" src="/Resources/images/user-icon.png" onerror="this.onerror=null; this.src='/Resources/images/default_img.png'">
Run Code Online (Sandbox Code Playgroud)