源文件无效的图像在Firefox中显示替代文本,但在Chrome中不显示,除非调整图像的宽度。如何在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中不显示,除非调整图像的宽度。如何在Chrome中显示图像的替代文本
<img height="90" width="90"
src="http://www.google.com/intl/en_ALL/images/logos/images_logo_lg.gif"
alt="Image Not Found"/>
如何显示图像的替代文字?
如果我是正确的,这是webkit中的一个错误(根据this)。我不确定是否有很多事情可以做,对于弱的答案感到抱歉。
但是,您可以使用一项工作。如果您将title
属性添加到您的图像(例如title="Image Not Found"
),它将起作用。
您可以使用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" />
使用title属性,而不是ALT
<img
height="90"
width="90"
src="http://www.google.com/intl/en_ALL/images/logos/images_logo_lg12.gif"
title="Image Not Found"
/>
请解释为什么使用title属性代替alt – sandeep 2011-03-22 04:10:55
我们必须同时使用title和alt来实现浏览器兼容性,因为不同的浏览器在这种情况下考虑不同的属性title/alt – 2011-03-22 04:30:18
@Harsh yeah你right.actually我正在测试谷歌浏览器我根据那个帖子发布代码,但我们必须同时使用多个浏览器。 – Sukhjeevan 2011-03-22 04:38:51
是的,这是一个问题在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");
这里是jQuery的一个简单的解决方法。您可以将其作为用户脚本实施,以将其应用到您查看的每个页面。
$(function() {
$('img').live('mouseover', function() {
var img = $(this); // cache query
if (img.title) {
return;
}
img.attr('title', img.attr('alt'));
});
});
我也实施这是一个Chrome扩展名为alt。因为它使用我已经停用了此扩展程序并将其从Chrome商店中删除。jQuery.live
,它也适用于动态加载的内容。
我用这个,它的工作原理与PHP ...
<span><?php
if (file_exists("image/".$data['img_name'])) {
?>
<img src="image/<?php echo $data['img_name']; ?>" width="100" height="100">
<?php
}else{
echo "Image Not Found";
}>?
</span>
本质是什么代码正在做,正在检查文件。我们的数组将使用$data
变量,然后实际进行所需的更改。如果没有找到,它会抛出一个异常。
各种浏览器(错误)以各种方式处理此问题。使用标题(旧的IE'标准')并不特别合适,因为title属性是鼠标悬停效果。上面的jQuery解决方案(Alexis)似乎在正确的轨道上,但我不认为这个'错误'发生在可能被捕获的地方。我已经在SRC与自身替换,然后捕捉错误取得了成功:
$('img').each(function()
{
$(this).error(function()
{
$(this).replaceWith(this.alt);
}).attr('src',$(this).prop('src'));
});
这一点,因为在亚历克西斯的贡献,具有去除失踪IMG图像的好处。
当鼠标移动到图像上方时,Internet Explorer 7(及更早版本)将alt属性的值显示为工具提示。根据HTML规范,这不是正确的行为。应该使用title属性代替。来源:http://www.w3schools.com/tags/att_img_alt.asp
您正在使用哪个版本的chrome?因为,根据http://code.google.com/p/chromium/issues/detail?id=16734,这应该已经修复。 – 2011-03-22 03:58:32
这似乎仍然是Chrome 29(2年以上)的问题!除非元素的宽度足够宽以在整行中显示替代文本,否则替代文本不会显示!? – MrWhite 2013-09-02 10:20:11
...和元素需要有一定的高度。我的测试至少44px。 – MrWhite 2013-09-02 11:00:21