Tengo una imagen en una página HTML:
<img src="smiley.gif" alt="Smiley face" width="32" height="32" />
Si la imagen no se encuentra en el servidor, muestra un feo cuadrado en blanco.
Quiero que, si no se encuentra una imagen, no se muestre nada o alguna otra imagen predeterminada que sé que definitivamente está en el servidor.
¿Cómo se puede hacer esto?
Respuestas:
La mejor forma de solucionar tu problema:
onerror
es algo bueno para ti :)Simplemente cambie el nombre del archivo de imagen y pruébelo usted mismo.
fuente
if (this.src != 'Default.jpg')
this.onerror=null;
como se indica a continuación por @Sudarshan.Bueno, puedes probar esto.
esto funcionó para mí. Déjame saber de ti.
fuente
Ok, pero me gusta usar de esta manera, para que siempre que la imagen original no esté disponible, puedas cargar tu imagen predeterminada que puede ser tu emoticón favorito o una imagen que diga ¡Lo siento! No disponible, pero en caso de que falten ambas imágenes, puede usar texto para mostrar. donde también puedes tu smiley entonces. Eche un vistazo a casi todos los casos.
fuente
<?=base_url()?>
hacer? ¿Por qué sorprendentemente agrega código del lado del servidor y del marco?Aquí Verifique el fragmento de código a continuación que, en esto, escribí mal el nombre de la imagen. Entonces, solo por eso, muestra la imagen alternativa como imagen no encontrada (404.svg).
fuente
La forma habitual de manejar este escenario es estableciendo la
alt
etiqueta en algo significativo.Si desea una imagen predeterminada en su lugar, le sugiero que utilice una tecnología del lado del servidor para servir sus imágenes, llamado usar un formato similar a:
En el
ImageHandler.aspx
código, detecta cualquier error de archivo no encontrado y publica tudefault.jpg
.fuente
Puede mostrar un texto alternativo agregando
alt
:fuente
Agregué un div principal alrededor de la imagen y usé el siguiente controlador de eventos de error para ocultar la imagen original porque en IE todavía se mostraba una imagen fea no encontrada después de usar el atributo alt:
fuente
Como alternativa, si la imagen no existe, no muestre nada. (lo que estaba buscando)
Puede cambiar la función de la respuesta de Robby Shaw en el atributo "onerror" a "this.remove ()".
fuente
Intente usar
border=0
en laimg
etiqueta para hacer desaparecer el cuadrado feo.<img src="someimage.png" border="0" alt="some alternate text" />
fuente
Quería ocultar el espacio ocupado por la
<img>
etiqueta, así que esto funcionó para mí.<img src = "source.jpg" alt = "" >
fuente
Si desea una imagen alternativa en lugar de un texto, también puede usar php:
fuente
Una forma sencilla de manejar esto, simplemente agregue una imagen de fondo.
fuente
prueba PHP
fuente
Me funciona que si no desea usar el atributo alt si la imagen se rompe, puede usar este código y configurarlo en consecuencia.
fuente
Este funcionó para mí. usando el srcset. Me acabo de enterar, así que no sé si los navegadores lo admiten, pero me ha funcionado. Pruébalo y luego devuélveme tu feed.
fuente
Solución: eliminé los elementos de alto y ancho del img y luego funcionó el texto alternativo.
A
Gracias a todos.
fuente