J'ai une image dans une page HTML:
<img src="smiley.gif" alt="Smiley face" width="32" height="32" />
Si l'image n'est pas trouvée sur le serveur, elle montre un vilain carré vide.
Je veux faire en sorte que si une image n'est pas trouvée, elle n'affichera rien ou une autre image par défaut dont je sais qu'elle se trouve définitivement sur le serveur.
Comment cela peut-il être fait?
Réponses:
La meilleure façon de résoudre votre problème:
onerror
est une bonne chose pour vous :)Changez simplement le nom du fichier image et essayez vous-même.
la source
if (this.src != 'Default.jpg')
this.onerror=null;
comme indiqué ci-dessous par @Sudarshan.Eh bien, vous pouvez essayer ceci.
cela a fonctionné pour moi. faites-moi savoir pour vous.
la source
Ok, mais j'aime utiliser de cette façon, de sorte que chaque fois que l'image originale n'est pas disponible, vous pouvez charger votre image par défaut qui peut être votre smiley préféré ou une image disant Désolé! Non disponible, mais au cas où les deux images seraient manquantes, vous pouvez utiliser du texte pour les afficher. où vous pouvez aussi vous smiley alors. avoir un regard couvre presque tous les cas.
la source
<?=base_url()?>
-on? Pourquoi ajoutez-vous étonnamment du code côté serveur et basé sur le framework?Voici l'extrait de code ci-dessous qui, dans ce cas, j'ai mal orthographié le nom de l'image. Donc, juste à cause de cela, il affiche l'image alternative comme image non trouvée (404.svg).
la source
La manière habituelle de gérer ce scénario consiste à définir la
alt
balise sur quelque chose de significatif.Si vous voulez une image par défaut à la place, je suggère d'utiliser une technologie côté serveur pour servir vos images, appelée en utilisant un format similaire à:
Dans le
ImageHandler.aspx
code, détectez toutes les erreurs de fichier non trouvées et diffusez votre fichierdefault.jpg
.la source
Vous pouvez afficher un texte alternatif en ajoutant
alt
:la source
J'ai ajouté un div parent autour de l'image et utilisé le gestionnaire d'événement onerror suivant pour masquer l'image d'origine car dans IE, il y avait toujours une image laide image introuvable après l'utilisation de l'attribut alt:
la source
Pour l'alternative, si l'image n'existe pas, ne montrez rien du tout. (ce que je cherchais)
Vous pouvez permuter la fonction de la réponse de Robby Shaw dans l'attribut "onerror" à "this.remove ()".
la source
Essayez d'utiliser
border=0
dans l'img
étiquette pour faire disparaître le carré laid.<img src="someimage.png" border="0" alt="some alternate text" />
la source
Je voulais cacher l'espace occupé par le
<img>
tag, donc cela a fonctionné pour moi<img src = "source.jpg" alt = "" >
la source
Si vous voulez une image alternative au lieu d'un texte, vous pouvez également utiliser php:
la source
moyen simple de gérer cela, ajoutez simplement une image d'arrière-plan.
la source
essayez PHP
la source
cela fonctionne pour moi que si vous ne voulez pas utiliser l'attribut alt si l'image se brise, vous pouvez utiliser ce morceau de code et le définir en conséquence.
la source
Celui-ci a fonctionné pour moi. en utilisant le srcset. Je viens de l'apprendre, donc je ne sais pas si les navigateurs le prennent en charge, mais cela a fonctionné pour moi. Essayez-le et donnez-moi plus tard votre avis.
la source
Solution - J'ai supprimé les éléments de hauteur et de largeur de l'image, puis le texte alternatif a fonctionné.
À
Merci à tous.
la source