javascript - 如果找不到源图像,如何显示替代图像? (错误在 IE 中工作但在 mozilla 中不工作)

标签 javascript html image

<分区>

如果找不到源图像,我需要在表格的单元格中显示备用图像。 目前,下面的代码用于执行此操作。

cell.innerHTML="<img height=40 width=40 src='<%=request.getContextPath()%>/writeImage.htm' onError='ImgErrorVideo(this);'>" 
function ImgErrorVideo(source){
        source.src = "video.png";
        source.onerror = ""; 
        return true; 
}

现在的问题是,上面的解决方案在 Internet Explorer 中有效,但在 mozilla 中无效。

请告诉我一些适用于所有浏览器的解决方案。

最佳答案

我觉得这很好,也很短

<img src="imagenotfound.gif" alt="Image not found" onerror="this.src='imagefound.gif';" />

但是,要小心。如果 onerror 图像本身产生错误,用户的浏览器将陷入无限循环。


编辑 为避免无限循环,请立即从中删除 onerror

<img src="imagenotfound.gif" alt="Image not found" onerror="this.onerror=null;this.src='imagefound.gif';" />

通过调用 this.onerror=null 它将删除 onerror 然后尝试获取备用图像。


如果这可以帮助任何人,我想添加一种 j​​Query 方式。

<script>
$(document).ready(function()
{
    $(".backup_picture").on("error", function(){
        $(this).attr('src', './images/nopicture.png');
    });
});
</script>

<img class='backup_picture' src='./images/nonexistent_image_file.png' />

您只需将 class='backup_picture' 添加到您希望备份图片加载的任何 img 标签中,如果它试图显示不良图像。

关于javascript - 如果找不到源图像,如何显示替代图像? (错误在 IE 中工作但在 mozilla 中不工作),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3984287/

相关文章:

javascript - 我在提交表单和标签更改时遇到问题

html - 另一个 div + 图像内的垂直居中 div

java - 卷积滤波器 - Float Precision C 与 Java

php - 存储在mysql中的图像的背景封面

javascript - 如何捕捉动画GIF并显示静态图像?

javascript - 尝试设置谷歌地图信息窗口内容的问题

javascript - 方法参数的动态变量

javascript - 'this' 在 Javascript 函数中指的是什么

javascript - 通过设置 width=0 隐藏容器,但有时容器内的一些元素在容器隐藏后会短暂地保持可见

javascript - 如何使用按钮的 onchange 事件来运行所选按钮的 onclick 功能?