【问题标题】:Broken image on mobile device移动设备上的图像损坏
【发布时间】:2021-09-04 01:20:54
【问题描述】:

我的一张图片显示图片链接损坏,但仅限于移动设备。在我所有的桌面浏览器中,即使调整浏览器窗口的大小,图像仍然显示。 <img> 标签的文件路径是正确的,并且没有针对图像的 CSS 或 JS,除了字面上只有 width 和 margin CSS 属性。找了大约一个小时的拼图,我终于弄清楚是什么解决了问题,但不知道是什么原因造成的。

我使用的图片标签:

<img src="/path/to/image.png" alt="image alt tag">

什么最终解决了这个问题:

<img src="/path/to/image.png" alt="image alt tag" />

(注意标签末尾的/)

为什么这个小 / 会产生如此大的不同?为什么所有其他具有完全相同的 CSS 类和文件路径的图像都没有问题?这个/实际上是做什么的?

【问题讨论】:

  • 在桌面浏览器将其读取为 HTML 并且不需要关闭 标记,在这种情况下,您的移动浏览器将其读取为需要关闭 标记的 XHTML。

标签: html image http-status-code-404 broken-links


【解决方案1】:

通过将“/”(或“右括号”)添加到 img 标记的末尾,您正在验证它是否适用于 XML 或 XHTML。 HTML 不需要结束括号(它在 HTML 中是可选的,代码可以以任何方式工作),但 XML/XHTML 确实需要它。

由于您的移动浏览器没有显示没有括号的图像,但正确显示了带有括号的图像(并且您的 PC 以两种方式显示),这很可能意味着您的移动浏览器正在使用 XML/XHTML 解析代码(其中“/”是必需的)并且您的 PC 正在 HTML 中解析它(代码可以使用或不使用“/”)。

希望这有助于澄清!如果您不理解我所说的或想澄清的内容,请发表评论:)

【讨论】:

  • 谢谢,这澄清了很多:) 但是其他图像呢?他们使用相同的类,相同的<img> 标签,但只有不同的文件路径。它们仍在我的移动设备上显示。
  • 这很奇怪,我不知道答案。也许需要“/”的图像存在缓存问题?如果是缓存问题,那么添加“/”会使其重新评估标签,这意味着它会解析为 HTML(而不是 XML/XHTML)。它当时可能只是在寻找一个不存在的文件。实在是没法说。
  • 这是一个缓存问题,你是对的。谢谢!
  • 很高兴你知道了!
猜你喜欢
  • 2018-07-29
  • 1970-01-01
  • 1970-01-01
  • 2013-07-27
  • 2014-10-03
  • 1970-01-01
  • 2015-03-29
  • 2011-01-08
  • 1970-01-01
相关资源
最近更新 更多