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

时间:2019-06-21 17:51:50

标签: html relative-path

我已经阅读了包括this one在内的一些资源,这些资源是如何在Web浏览器中解析相对路径的。但是,即使经过研究,我仍然感到困惑,因为我看到了一个相对图像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。

1 个答案:

答案 0 :(得分:0)

由于@AuxTaco,我意识到页面上存在<base>标签。 <base>标签用于覆盖相对路径的默认分辨率。

我不得不更新自己的脚本,以纳入在任何给定页面上都存在<base>标签的可能性。