html - 为什么相对图像路径解析为绝对路径?

标签 html relative-path

我已经阅读了一些资源,包括 this one关于如何在 Web 浏览器中解析相对路径。但即使在我的研究之后,我仍然感到困惑,因为我看到了一个相对图像 URL 的示例,它与我目前阅读的所有内容相矛盾。

我有一个网页的 URL 与此类似:https://www.example.com/uri1/uri2/

该页面上有一个带有相对路径的图片标签:

<img src="example.png"/>

浏览器正在将图像解析为:https://www.example.com/example.png

这是图像的正确位置。我想知道为什么浏览器没有尝试解析来自以下位置的图像:https://www.example.com/uri1/example.png

据我所知,后者是图像应该解决的地方。 我查看了 Chrome 和 FireFox 中的页面,结果相同。

我正在编写一个脚本来解析 CMS 内容并在下载图像之前将相对图像路径解析为完全合格的路径。

在我的例子中,这不起作用,因为在浏览器中,相对路径实际上被解析为域的基础。因此,当我的脚本尝试解析完全限定的图像路径(例如 example.com/uri1/example.png)时,它会生成不正确的 URL。

最佳答案

感谢@AuxTaco,我意识到有一个 <base>标 checkout 现在页面上。 <base>标签用于覆盖相对路径的默认分辨率。

我必须更新我的脚本以包含 <base> 的可能性标记出现在任何给定页面上。

关于html - 为什么相对图像路径解析为绝对路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56708297/

相关文章:

python - 适用于 Python 中任何平台的 Unix 路径?

asp.net - 站点链接和重定向中的 SSL 和相对 URL

Webpack 和 VueJs CLI v3 – 需要图像和网络字体的相对路径

java - 打开位于 Java jar 目录中的文件,而不是当前工作目录

c# - 在 C# 中,如何一次合并文件路径的两个以上部分?

php - 长层次(特定)CSS 属性与直接属性

html - Bootstrap 4 具有 2 列的折叠导航栏

html - CSS Main Body 不会拉伸(stretch)到页面?

javascript - 双击为 iFrame 在 IOS 上创建工作链接

html - 如何找出网页上正在使用主题中的哪个文件?