我在HTML页面中有一张图片:
<img src="smiley.gif" alt="Smiley face" width="32" height="32" />
如果在服务器上找不到图像,则会显示一个丑陋的空白方块。
我想这样做,如果找不到图像,它将不会显示任何内容或我知道肯定在服务器上的其他默认图像。
如何做到这一点?
答案 0 :(得分:209)
解决问题的最佳方法:
<img id="currentPhoto" src="SomeImage.jpg" onerror="this.onerror=null; this.src='Default.jpg'" alt="" width="100" height="120">
onerror
对你有好处:)
只需更改图像文件名并尝试自己。
答案 1 :(得分:15)
你可以试试这个。
<object data="URL_TO_Default_img.png" type="image/png">
<img src="your_original_image.png" />
</object>
这对我有用。让我了解你。
答案 2 :(得分:11)
好的,但是我喜欢这样使用,所以每当原始图像不可用时,您可以加载您最喜欢的笑脸或图像,表示抱歉!不可用,但如果两个图像都丢失,您可以使用文本显示。那你也可以笑脸。看看几乎涵盖了每一个案例。
<img src="path_to_original_img/img.png" alt="Sorry! Image not available at this time"
onError="this.onerror=null;this.src='<?=base_url()?>assets1/img/default.jpg';">
答案 3 :(得分:2)
您可以添加alt
<img src="my_img.png" alt="alternative text" border="0" />
答案 4 :(得分:2)
或者,如果图像不存在,则什么也不显示。 (我在找什么)
您可以将Robby Shaw在“ onerror”属性中的答案替换为“ this.remove()”的功能。
<img id="currentPhoto" src="SomeImage.jpg" alt='1' width="100" height="120">
<img id="currentPhoto" src="SomeImage.jpg" onerror="this.onerror=null; this.remove();" alt="2" width="100" height="120">
答案 5 :(得分:1)
处理此方案的常用方法是将alt
标记设置为有意义的内容。
如果你想要一个默认图像,那么我建议使用服务器端技术来提供你的图像,使用类似的格式来调用:
<img src="ImageHandler.aspx?Img=Blue.jpg" alt="I am a picture" />
在ImageHandler.aspx
代码中,抓住任何未找到文件的错误,并改为使用default.jpg
。
答案 6 :(得分:1)
我在图像周围添加了一个父div,并使用以下的onerror事件处理程序来隐藏原始图像,因为在IE中使用alt属性后仍然显示一个难看的图像未找到的图像:
User
答案 7 :(得分:1)
在这里检查下面的代码片段,在这个代码片段中,我拼错了图像名称。因此,正因为如此,它会将替代图像显示为未找到图像(404.svg)。
<img id="currentPhoto" src="https://www.ccrharrow.org/Images/content/953/741209.pg" onerror="this.src='https://www.unesale.com/ProductImages/Large/notfound.png'" alt="">
答案 8 :(得分:0)
尝试使用border=0
标记中的img
让丑陋的广场消失。
<img src="someimage.png" border="0" alt="some alternate text" />
答案 9 :(得分:0)
我想要隐藏<img>
标记占用的空间,这样这对我有用
<img src = "source.jpg" alt = "" >
答案 10 :(得分:0)
如果你想要一个替代图像而不是文本,你也可以使用php:
$file="smiley.gif";
$alt_file="alt.gif";
if(file_exist($file)){
echo "<img src='".$file."' border="0" />";
}else if($alt_file){
// the alternative file too might not exist not exist
echo "<img src='".$alt_file."' border="0" />";
}else{
echo "smily face";
}
答案 11 :(得分:0)
一种简单的处理方法,只需添加背景图片即可。
答案 12 :(得分:0)
尝试PHP
if (file_exists('url/img/' . $Image)) {
$show_img_URL = "Image.jpg";
} else {
$show_img_URL = "Image_not_found.jpg";
}
答案 13 :(得分:-1)
它对我有用,如果你不想使用alt属性,如果图像中断,那么你可以使用这段代码并相应地设置。
<h1>
<a>
<object data="~/img/Logo.jpg" type="image/png">
Your Custom Text Here
</object>
</a>
</h1>
答案 14 :(得分:-1)
这个对我有用。使用srcset。我刚刚了解了它,所以我不知道浏览器是否支持它,但它对我有用。试试吧,然后再给我反馈。
block
答案 15 :(得分:-14)
解决方案 - 我删除了img的高度和宽度元素,然后alt文本工作。
<img src="smiley.gif" alt="Smiley face" width="32" height="32" />
要
<img src="smiley.gif" alt="Smiley face" />
谢谢大家。