为什么相对图像路径解析为绝对路径?
Why are relative image paths resolving as absolute paths?
我阅读了一些资源,包括 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>
标签。 <base>
标签用于覆盖相对路径的默认分辨率。
我必须更新我的脚本以包含 <base>
标签出现在任何给定页面上的可能性。
我阅读了一些资源,包括 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>
标签。 <base>
标签用于覆盖相对路径的默认分辨率。
我必须更新我的脚本以包含 <base>
标签出现在任何给定页面上的可能性。