HTML :: Тег <base>
Пустой элемент «base» формируется одиночным тегом <base> (от англ. base – базовый). Он сообщает браузеру базовый адрес текущего документа, который указывается в атрибуте href, а также задает целевое окно для всех ссылок в документе при помощи атрибута target, который в качестве значения принимает одно из зарезервированных значений "_self | _blank | _parent | _top" или имя целевого окна или фрейма, которое устанавливается их атрибутом name. Если указать несуществующее имя окна или фрейма, то браузер откроет документ в новом окне. Значение "_self" установлено по умолчанию. Если использовать значение "_blank", то браузер откроет документ в новом окне или фрейме; если "_parent" – в родительском фрейме, а в случае отсутствия такового, в текущем окне; если "_top" – в главном (текущем) окне, в котором находится данный фрейм, содержащий ссылку, а в случае отсутствия фреймов в окне, данное значение сработает, как "_self". Давайте посмотрим на пример №1.
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <!-- Задаем базовый адрес. В нашем случае указываем путь к корневой папке сайта. Все ссылки по умолчанию будут открываться в новом окне. --> <base href="https://site.name/" target="_blank"> <title>Элемент «base»</title> </head> <body> <!-- Теперь нам не нужно постоянно указывать полный путь к файлам на сайте, т.к. начальная (базовая) часть пути уже прописана в элементе «base» --> Перейти на домашнюю страницу сайта можно <a href="index.html">здесь</a>. <br><br> <!-- Ссылка откроется в этом же окне, т.к. мы переопределили атрибут target.--> Заглавная страница учебника по HTML находится <a href="html/html_main.html" target="_self">здесь</a>. </body> </html>
Пример №1. Использование элемента «base»
Таким образом, если в документе присутствует служебный тег <base> и в нем прописан
базовый адрес, то в пределах документа отпадает необходимость указывать в таких атрибутах, как href в гиперссылках
или src в изображениях, полный адрес. Вместо этого используется относительная адресация, а за основу берется
базовый адрес. При этом разрешается применять иерархическую систему пути с двумя точками ../. В нашем примере,
относительная адресация формируется от корня сайта https://site.name/. Поэтому, даже если мы перенесем страницу в
другую папку или на другой сайт, все ссылки на ней останутся рабочими, т.к. благодаря элементу «base» браузер
будет формировать ссылки с учетом базового адреса, получая на выходе вместо относительных ссылок абсолютные. Например, если взять вторую гипперссылку
в примере, то браузер перейдет не по относительной ссылке html/html_main.html, указанной в качестве значения атрибута
href, а сперва сформирует абсолютный адрес. Для этого он возьмет базовый адрес
https://site.name/, указанный в атрибуте href элемента
«base», затем добавит к нему относительный адрес html/
Что касается атрибута target элемента «base», то он позволяет изменить поведение браузера по умолчанию, загружая целевой документ при переходе по гиперссылке не в исходном окне или фрейме, а, например, в новом. При этом собственный атрибут target конкретной гиперссылки имеет приоритет и переопределяет значение, установленное в элементе «base».
Тег <base> должен использоваться только внутри элемента «head» и желательно только один раз. Если в документе будет присутствовать более одного элемента «base», то будут использованы только первые значения атрибутов href и target. Все последующие значения, содержащиеся в других элементах «base», браузер проигнорирует.