如果找不到图像,则为HTML

Dav*_*801 85 html

我在HTML页面中有一个图像:

<img src="smiley.gif" alt="Smiley face" width="32" height="32" />
Run Code Online (Sandbox Code Playgroud)

如果在服务器上找不到图像,则显示一个丑陋的空白方块.

我想这样做,如果没有找到图像,它将不会显示任何内容或我知道肯定在服务器上的其他默认图像.

如何才能做到这一点?

小智 227

解决问题的最佳方法:

<img id="currentPhoto" src="SomeImage.jpg" onerror="this.onerror=null; this.src='Default.jpg'" alt="" width="100" height="120">
Run Code Online (Sandbox Code Playgroud)

onerror 对你来说是件好事:)

只需更改图像文件名并尝试自己.

  • 为了避免无限循环而且优于if:`this.onerror = null;`由@Sudarshan在下面给出. (6认同)
  • 如果Default.jpg不可用,您将无限循环.你应该添加一个检查`if(this.src!='Default.jpg')` (4认同)
  • 结合有用的alt标签,这是解决问题的好方法! (3认同)
  • 惊人!完美解决方案 (2认同)

Sud*_*ere 15

那么你可以试试这个.

  <object data="URL_TO_Default_img.png" type="image/png">
   <img src="your_original_image.png" />
  </object>
Run Code Online (Sandbox Code Playgroud)

这对我有用.让我了解你.

  • 似乎适用于所有主流浏览器.只需交换默认和原始.因此,该对象呈现原始图像和img默认图像 (3认同)

Sud*_*ere 10

好的但是我喜欢这样使用,所以每当原始图像不可用时,您可以加载您最喜欢的笑脸或图像,表示抱歉的默认图像!不可用,但如果两个图像都丢失,您可以使用文本显示.那你也可以笑脸.看看几乎涵盖了每一个案例.

<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';">
Run Code Online (Sandbox Code Playgroud)

  • 如果您希望搜索引擎正确解析页面,请不要对错误文本使用 alt。搜索引擎可能会错误地索引您的内容数据。 (2认同)

小智 5

作为替代方案,如果图像不存在 - 根本不显示任何内容。(我在找什么)

您可以将“onerror”属性中 Robby Shaw 的答案中的函数交换为“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">
Run Code Online (Sandbox Code Playgroud)


Dav*_*801 -35

解决方案 - 我删除了 img 的高度和宽度元素,然后替代文本起作用了。

<img src="smiley.gif" alt="Smiley face" width="32" height="32" />
Run Code Online (Sandbox Code Playgroud)

<img src="smiley.gif" alt="Smiley face" />
Run Code Online (Sandbox Code Playgroud)

谢谢你们。

  • 所以你给了自己“正确答案”,但你的答案与问题无关,GG WP。 (25认同)
  • 哦,这家伙从所有正确答案中接受了自己的答案哈哈哈,珍惜自己的好方法。 (2认同)
  • 这不是第一次了:D /sf/answers/893766891/ (2认同)
  • 这个答案没有提供替代图像。 (2认同)