具有无效源的图像在Firefox中显示替代文本,但在chrome中不显示替代文本,除非调整图像的宽度。
<img height="90" width="90"
src="http://www.google.com/intl/en_ALL/images/logos/images_logo_lg.gif"
alt="Image Not Found"/>
如何显示图片的替代文字?
具有无效源的图像在Firefox中显示替代文本,但在chrome中不显示替代文本,除非调整图像的宽度。
<img height="90" width="90"
src="http://www.google.com/intl/en_ALL/images/logos/images_logo_lg.gif"
alt="Image Not Found"/>
如何显示图片的替代文字?
Answers:
如果我是正确的话,这是webkit中的错误(根据this)。我不确定您是否可以做很多,对不起您的回答。
但是,有一项您可以使用的工作。如果您将title
属性添加到图像(例如title="Image Not Found"
),它将起作用。
是的,这是webkit中的一个问题,并且也以铬报告:http : //code.google.com/p/chromium/issues/detail? id=773 自2008年以来一直存在...并且仍未解决!
我正在使用一段javacsript和jQuery来解决这个问题。
function showAlt(){$(this).replaceWith(this.alt)};
function addShowAlt(selector){$(selector).error(showAlt).attr("src", $(selector).src)};
addShowAlt("img");
如果您只想要一些图像:
addShowAlt("#myImgID");
使用标题属性代替alt
<img
height="90"
width="90"
src="http://www.google.com/intl/en_ALL/images/logos/images_logo_lg12.gif"
title="Image Not Found"
/>
这是jQuery中的一种简单解决方法。您可以将其实现为用户脚本,以将其应用于您查看的每个页面。
$(function () {
$('img').live('mouseover', function () {
var img = $(this); // cache query
if (img.title) {
return;
}
img.attr('title', img.attr('alt'));
});
});
我也将其实现为名为alt的Chrome扩展程序。因为使用 我已停用此扩展程序,并将其从Chrome商店中删除。jQuery.live
,所以它也适用于动态加载的内容。
各种浏览器(mis)以各种方式处理此问题。使用标题(旧的IE“标准”)不是特别合适,因为标题属性是鼠标悬停的效果。上面的jQuery解决方案(Alexis)似乎走在正确的道路上,但我认为“错误”不会在可能被捕获的地方发生。通过将src替换为自身,然后捕获错误,我获得了成功:
$('img').each(function()
{
$(this).error(function()
{
$(this).replaceWith(this.alt);
}).attr('src',$(this).prop('src'));
});
就像Alexis的贡献一样,它具有删除丢失的img图像的好处。
将鼠标悬停在图像上时,Internet Explorer 7(及更早版本)将alt属性的值显示为工具提示。根据HTML规范,这不是正确的行为。应该使用title属性。资料来源:http : //www.w3schools.com/tags/att_img_alt.asp
要显示缺失图像的替代文本,我们必须添加这样的样式。我认为,无需为此添加额外的JavaScript。
.Your_Image_Class_Name {
font-size: 14px;
}
对我来说有用。请享用!!!!