我已经阅读了包括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。
答案 0 :(得分:0)
由于@AuxTaco,我意识到页面上存在<base>
标签。 <base>
标签用于覆盖相对路径的默认分辨率。
我不得不更新自己的脚本,以纳入在任何给定页面上都存在<base>
标签的可能性。