<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-адреса. Например:
<meta property="og:image" content="https://example.com/thumbnail.jpg" />
Примеры
<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