【问题标题】:Why would the supplied alt text not display when an image fails to load?为什么图像加载失败时不显示提供的替代文本?
【发布时间】:2013-07-30 20:41:11
【问题描述】:

我尝试将更新 10 添加到此帖子:Why does my img error function fail?,但我会超过帖子的最大长度,因此必须开始一个新问题。

我一直忘记的“明显”问题是我为每个图像提供了一个“alt”文本值,因此,每当它们没有加载或由于任何原因不显示时,替代文本应该显示在图像的位置,对吧?它从来没有。所以,由于这没有发生,也没有任何答案有效,也许由于某种原因我的网站没有意识到图像何时“坏”......这可能吗?

【问题讨论】:

  • 另一个问题中的代码包括+ dataPoint.imgalt + - 那等于什么?您的代码中似乎没有alt="。不应该是+ ' alt="' + dataPoint.imgalt + '"' +吗?
  • 是的,它们是如下值: alt="John Steinbeck book cover" 既然我已经写了这个,我开始怀疑我到底是怎么得到它的。我认为它就像:alt=\""John Steinbeck book cover\"" 对吗?
  • 没关系 - 我确定它是正确的,它是:alt=\"William Saroyan 书籍封面\"
  • 如果没有图片,大多数浏览器不会显示您的 alt 文本(有些会显示,但不是全部。不是 webkit)。 Alt 用于屏幕阅读器和可访问性 - 如果您的图像无法加载,则不会显示某些内容。
  • 好的,再次感谢@mikeyUX

标签: jquery html image alt


【解决方案1】:

还有另一种可能的解释。

当您尝试将其他服务器的图像加载到您自己服务器上的网页上时,通常会提供不同的图像而不是所需的图像。这样那里就有图像,因此不会检测到错误。但是您仍然没有看到您想看到的图像。

这绝对可以解释为什么我建议的插件(以及后来的其他人)不起作用。该插件无法判断图像应该是什么,因此无法检测您想要查看的图像是否存在,或者只是服务器提供的空白图像,以阻止您使用他们的您网站上的图片。

您可以自己找出这种解释是否适用于任何神秘地似乎没有被检测为有“错误”但没有出现的图像。

只需右键单击图像并使用浏览器提供的选项来检查图像/检查其 URL 或其他属性。如果那里有图像但没有图像显示,那么当您尝试交叉链接到它并在您的站点中加载它们的图像时,服务器正在用空图像动态替换真实图像。

【讨论】:

    【解决方案2】:

    尝试回答为什么不显示替代文本...

    一些浏览器使用 alt 来代替损坏的图像,而其他浏览器则使用标题。见:Why doesn't alt text show up in image

    您还可以在此处了解 alt 和 title 属性之间的区别:alt and title tag differences

    【讨论】:

    • 似乎标题是一种“工具提示”类型的值,而不是在图像无法加载/显示时显示的内容。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-20
    相关资源
    最近更新 更多