我已经阅读了一些资源,包括 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/