<base>

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

HTML-элемент <base> определяет базовый URL-адрес, используемый для создания всех относительных URL-адресов в документе. В документе может быть только один элемент <base>.

Базовый URL-адрес документа можно получить с помощью Node.baseURI. Если в документе нет элементов <base>, то значение baseURI по умолчанию равно location.href.

Атрибуты

Этот элемент поддерживает глобальные атрибуты.

Предупреждение: Элемент <base> должен иметь атрибут href, target или оба. Если указан хотя бы один из этих атрибутов, то <base> должен располагаться перед другими элементами с атрибутами, содержащими URL-адреса в качестве значений, такими как href у <link>.

href

Базовый URL-адрес, используемый в документе для формирования относительных URL-адресов. Допускаются абсолютные и относительные адреса. data: и javascript: URL-адреса использовать нельзя.

target

Ключевое слово или заданное автором имя для определения контекста просмотра, который будет использован при отображении результатов навигации из элементов <a>, <area> или <form>, если у них не задан свой атрибут target. Следующие ключевые слова имеют специальные значения:

  • _self (по умолчанию): отображает результат в текущем контексте просмотра.
  • _blank: отображает результат в новом, безымянном контексте просмотра.
  • _parent: отображает результат в родительском контексте просмотра, если текущая страница находится внутри фрейма. Если родителя нет, работает так же, как _self.
  • _top: отображает результат в самом верхнем контексте просмотра (контексте, который является предком текущего и не имеет родителя). Если родителя нет, работает так же, как _self.

Примечания по использованию

Несколько элементов <base>

Если используется несколько элементов <base>, учитываются только значения первых атрибутов href и target, все остальные игнорируются.

Ссылки на фрагменты документов

Ссылки, указывающие на фрагмент внутри документа, например, <a href="#some-id">, формируются с использованием <base>, и переход по ним вызывает HTTP-запрос к базовому URL-адресу с добавленным фрагментом.

Например, если задан элемент <base href="https://example.com/"> и ссылка <a href="#anchor">К фрагменту</a>, то она будет вести на https://example.com/#anchor.

Значение target не должно содержать символы переноса строк, табуляции или <

Если атрибут target содержит символ ASCII переноса строки, табуляции или символ <, значение сбрасывается на _blank. Это необходимо для предотвращения атак с инъекцией незавершённой разметки. Это вид атаки без использования скриптов, при которой в страницу внедряется незавершённый атрибут target, в который попадает весь последующий текст до тех пор, пока браузер не встретит символ, закрывающий атрибут.

Open Graph

Теги Open Graph не учитывают <base> и всегда должны содержать полные абсолютные URL-адреса. Например:

html
<meta property="og:image" content="https://example.com/thumbnail.jpg" />

Примеры

html
<base href="https://www.example.com/" />
<base target="_blank" />
<base target="_top" href="https://example.com/" />

Техническая сводка

Категории контента Метаданные
Допустимое содержимое Отсутствует. Это пустой элемент.
Пропуск тегов Должен иметь открывающий тег и не иметь закрывающего.
Допустимые родители Тег <head>, который не содержит другой элемент <base>.
Неявная ARIA-роль Нет соответствующей роли
Допустимые ARIA-роли Атрибут role не допускается
DOM-интерфейс HTMLBaseElement

Спецификации

Specification
HTML Standard
# the-base-element

Совместимость с браузерами

BCD tables only load in the browser