Jyo*_*oti 118 html javascript 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;
}
Run Code Online (Sandbox Code Playgroud)
现在问题是上面的解决方案是在Internet Explorer中工作但在mozilla中不起作用.
请告诉我一些适用于所有浏览器的解决方案.
Etd*_*hou 363
我觉得这很好很短
<img src="imagenotfound.gif" alt="Image not found" onerror="this.src='imagefound.gif';" />
Run Code Online (Sandbox Code Playgroud)
不过要小心.如果错误图像本身产生错误,用户的浏览器将陷入无限循环.
编辑
为避免无限循环,请立即将其onerror
从中移除.
<img src="imagenotfound.gif" alt="Image not found" onerror="this.onerror=null;this.src='imagefound.gif';" />
Run Code Online (Sandbox Code Playgroud)
通过调用this.onerror=null
它将删除onerror然后尝试获取替代图像.
新的 我想添加一个jQuery方式,如果这可以帮助任何人.
<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' />
Run Code Online (Sandbox Code Playgroud)
您只需要将class ='backup_picture'添加到任何想要备份图片加载的img标记中,如果它试图显示错误的图像.
如果您愿意接受 PHP 解决方案:
<td><img src='<?PHP
$path1 = "path/to/your/image.jpg";
$path2 = "alternate/path/to/another/image.jpg";
echo file_exists($path1) ? $path1 : $path2;
?>' alt='' />
</td>
Run Code Online (Sandbox Code Playgroud)
////编辑好的,这是一个 JS 版本:
<table><tr>
<td><img src='' id='myImage' /></td>
</tr></table>
<script type='text/javascript'>
document.getElementById('myImage').src = "newImage.png";
document.getElementById('myImage').onload = function() {
alert("done");
}
document.getElementById('myImage').onerror = function() {
alert("Inserting alternate");
document.getElementById('myImage').src = "alternate.png";
}
</script>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
208668 次 |
最近记录: |