Тег <base>
belarusweb.net
© Петр Романовский Минск, 2016-2018.



belarusweb.net
Основы создания сайтов...

Тег <base>

Пустой элемент 'base' формируется одиночным тегом <base>. Он сообщает браузеру базовый адрес текущего документа, который указывается в атрибуте href, а также задает целевое окно для всех ссылок в документе при помощи атрибута target, который в качестве значения принимает одно из зарезервированных значений "_self | _blank | _parent | _top" или имя целевого окна или фрейма, которое устанавливается их атрибутом name. Если указать несуществующее имя окна или фрейма, то браузер откроет документ в новом окне. Значение "_self" установлено по умолчанию. Если использовать значение "_blank", то браузер откроет документ в новом окне или фрейме; если "_parent" – в родительском фрейме, а в случае отсутствия такового, в текущем окне; если "_top" – в главном (текущем) окне, в котором находится данный фрейм, содержащий ссылку, а в случае отсутствия фреймов в окне, данное значение сработает, как "_self". Давайте посмотрим на пример 3.1.

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">	
	<!-- Задаем базовый адрес. В нашем случае указываем 
		 путь к папке с сайтом на локальном сервере. 
		 Все ссылки по умолчанию будут открываться в новом окне. -->
	<base href="http://belarusweb.net/" 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>

Пример 3.1. Использование элемента 'base'

Таким образом, если в документе присутствует служебный тег <base> и в нем прописан базовый адрес, то в пределах документа отпадает необходимость указывать в таких атрибутах, как href в гиперссылках или src в изображениях, полный адрес. Вместо этого используется относительная адресация, а за основу берется базовый адрес. При этом разрешается применять иерархическую систему пути с двумя точками '../'. В нашем примере, относительная адресация формируется от корня сайта, т.е. папки belarusweb. Поэтому, даже если мы перенесем страницу в другую папку или на другой сайт, все ссылки на ней останутся рабочими, т.к. благодаря элементу 'base' браузер будет формировать ссылки с учетом базового адреса, получая на выходе вместо относительных ссылок абсолютные. Например, если взять вторую гипперссылку в примере, то браузер перейдет не по относительной ссылке html/html_main.html, указанной в качестве значения атрибута href, а сперва сформирует абсолютный адрес. Для этого он возьмет базовый адрес http://localhost/belarusweb/, указанный в атрибуте href элемента 'base', затем добавит к нему относительный адрес html/html_main.html, указанный в атрибуте href гиперссылки, составит абсолютный адрес http://localhost/belarusweb/html/html_main.html и уже по нему совершит переход.

Что касается атрибута target элемента 'base', то он позволяет изменить поведение браузера по умолчанию, загружая целевой документ при переходе по гиперссылке не в исходном окне или фрейме, а, например, в новом. При этом собственный атрибут target конкретной гиперссылки имеет приоритет и переопределяет значение, установленное в элементе 'base'.

Видеоуроки по курсу HTML

Комментарии (0)

Петр Романовский
1. Приветствуются комментарии, которые содержат дополнения к материалу текущей страницы, а также ваши ответы на вопросы других пользователей.
2. Если вам что-то непонятно - спрашивайте, не забывая написать, что именно и с какого места.
Показаны все комментарии
Чтобы оставить свой комментарий, авторизуйтесь, пожалуйста!