Почему относительные пути изображения разрешаются как абсолютные пути? - PullRequest
2 голосов
/ 21 июня 2019

Я прочитал несколько ресурсов, включая , этот о том, как относительные пути разрешаются в веб-браузерах.Но даже после моего исследования я все еще в замешательстве, потому что вижу пример относительного 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.

1 Ответ

0 голосов
/ 25 июня 2019

Благодаря @AuxTaco я понял, что на странице присутствует тег <base>.Тег <base> используется для перезаписи разрешения относительных путей по умолчанию.

Мне пришлось обновить свой сценарий, чтобы включить возможность присутствия тега <base> на любой странице.

...