L'image avec une source non valide affiche un texte alternatif dans Firefox mais pas dans chrome sauf si la largeur d'une image est ajustée.
<img height="90" width="90"
src="http://www.google.com/intl/en_ALL/images/logos/images_logo_lg.gif"
alt="Image Not Found"/>
Comment afficher le texte alternatif d'une image?
Si je ne me trompe pas, il s'agit d'un bogue dans webkit (selon this ). Je ne sais pas si vous pouvez faire beaucoup, désolé pour la réponse faible.
Il existe cependant un moyen de contourner le problème. Si vous ajoutez l’attribut title
à votre image (par exemple, title="Image Not Found"
) ça va marcher.
Vous pouvez utiliser l'attribut title
.
<img height="90" width="90"
src="http://www.google.com/intl/en_ALL/images/logos/images_logo_lg.gif"
alt="Google Images" title="Google Images" />
Oui, c’est un problème lié à webkit et également signalé en chrome: http://code.google.com/p/chromium/issues/detail?id=77 Il existe depuis 2008 ... et toujours pas fixé!!
J'utilise un morceau de javacsript et jQuery pour résoudre ce problème.
function showAlt(){$(this).replaceWith(this.alt)};
function addShowAlt(selector){$(selector).error(showAlt).attr("src", $(selector).src)};
addShowAlt("img");
Si vous voulez seulement quelques images:
addShowAlt("#myImgID");
tilisez l'attribut title au lieu de alt
<img
height="90"
width="90"
src="http://www.google.com/intl/en_ALL/images/logos/images_logo_lg12.gif"
title="Image Not Found"
/>
Voici une solution de contournement simple dans jQuery. Vous pouvez l'implémenter en tant que script utilisateur pour l'appliquer à chaque page affichée.
$(function () {
$('img').live('mouseover', function () {
var img = $(this); // cache query
if (img.title) {
return;
}
img.attr('title', img.attr('alt'));
});
});
J'ai également implémenté cela sous la forme d'une extension Chrome appelée alt . Parce qu'elle utilise J'ai retiré cette extension et l'ai retirée du magasin Chrome.. jQuery.live
, cela fonctionne également avec le contenu chargé dynamiquement.
Pour afficher le texte Alt des images manquantes, nous devons ajouter un style comme celui-ci. Je pense qu'il n'est pas nécessaire d'ajouter du javascript supplémentaire pour cela.
.Your_Image_Class_Name {
font-size: 14px;
}
C'est un travail pour moi. Prendre plaisir!!!!
Internet Explorer 7 (et versions antérieures) affiche la valeur de l'attribut alt sous la forme d'une info-bulle lors du survol de l'image. Ce n'est pas le comportement correct, selon la spécification HTML. L'attribut title devrait être utilisé à la place. Source: http://www.w3schools.com/tags/att_img_alt.asp
Différents navigateurs (mis) gèrent cela de différentes manières. Utiliser title (un ancien IE 'standard') n'est pas particulièrement approprié, car l'attribut title est un effet de survol. La solution jQuery ci-dessus (Alexis) semble sur la bonne voie, mais je ne Je ne pense pas que l'erreur se produise à un point où elle pourrait être interceptée.
$('img').each(function()
{
$(this).error(function()
{
$(this).replaceWith(this.alt);
}).attr('src',$(this).prop('src'));
});
Ceci, comme dans la contribution d’Alexis, a l’avantage de supprimer l’image manquante.
Vous pouvez mettre l'attribut title sur tag.J'espère que cela fonctionnera.
<img src="smiley.gif" title="Smiley face" width="42" height="42">