Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ru]: update Web/HTML/Element/base translation #24271

Merged
merged 10 commits into from
Nov 22, 2024
102 changes: 82 additions & 20 deletions files/ru/web/html/element/base/index.md
Original file line number Diff line number Diff line change
@@ -1,43 +1,105 @@
---
title: <base>
slug: Web/HTML/Element/base
l10n:
sourceCommit: 1a48b6abdd27e168c78edcf04a7a9f6a8e0fdc15
---

{{HTMLSidebar}}

**HTML-элемент** **`<base>`** определяет основной адрес (URL), используемый для всех относительных адресов (URLs) в документе. Может быть только один **`<base>`** элемент в одном документе.
Основной адрес (URL) документа можно запросить скриптом используя {{domxref('document.baseURI')}}.
HTML-элемент **`<base>`** определяет базовый URL-адрес, используемый для создания всех _относительных_ URL-адресов в документе. В документе может быть только один элемент `<base>`.

| [Категории контента](/ru/docs/Web/Guide/HTML/Content_categories) | Метаданные |
| ---------------------------------------------------------------- | ---------------------------------------------------------------- |
| Допустимое содержимое | Отсутствует. Это {{Glossary("empty element","пустой элемент")}}. |
| Пропуск тегов | Без закрывающего тега. |
| Допустимые родители | {{HTMLElement("head")}}, {{HTMLElement("body")}}. |
| Допустимые ARIA-роли | Нет |
| DOM-интерфейс | {{domxref("HTMLBaseElement")}} |
Базовый URL-адрес документа можно получить с помощью {{domxref('Node.baseURI')}}. Если в документе нет элементов `<base>`, то значение `baseURI` по умолчанию равно {{domxref("location.href")}}.

## Атрибуты **`<base>`**
## Атрибуты

К элементу **`<base>`**`можно применять` [глобальные атрибуты.](/ru/docs/Web/HTML/Global_attributes)
Этот элемент поддерживает [глобальные атрибуты](/ru/docs/Web/HTML/Global_attributes).

> [!WARNING]
> Элемент `<base>` должен иметь атрибут `href`, `target` или оба. Если указан хотя бы один из этих атрибутов, то `<base>` **должен** располагаться перед другими элементами с атрибутами, содержащими URL-адреса в качестве значений, такими как `href` у {{HTMLElement("link")}}.

- `href`
- : Базовый адрес (URL) для указания полного пути (основной, главный адрес). Если указан данный атрибут, значит этот элемент должен находиться до других элементов с атрибутами URLs. Разрешены абсолютные (внешние) и относительные (внутренние) адреса (URLs).
- : Базовый URL-адрес, используемый в документе для формирования относительных URL-адресов. Допускаются абсолютные и относительные адреса.
[`data:`](/ru/docs/Web/URI/Schemes/data) и [`javascript:`](/ru/docs/Web/URI/Schemes/javascript) URL-адреса использовать нельзя.
- `target`
- : Значение атрибута определяет имя контекста, которое применяется для ссылок (`<a>`) и форм (`<form>`). Они нужны _для отображения контекста_ (пример: вкладка, окно или встроенный фрейм). Следующие ключевые слова имеют специальные значения:
- **`_self`**: загружает результат в текущем окне или вкладке. _Если атрибут не указан, является значением по умолчанию._
- `_blank`: загружает результат в новом окне или бланке.
- **`_parent`**: загружает данные в родительском окне. Если значение **`_parent`** не указано, используется значение **`_self`**.
- **`_top`**: загружает данные в контексте верхнего уровня (то есть, отображает полученный контекст без обратного перехода, если не имеет родительского значения). Если нет родительских данных используется как **`_self`**.

> **Примечание:** `если указано несколько элементов <base>` , будут использованы только первые **href** и **target**; все последующие значения проигнорируются.
- : **Ключевое слово** или **заданное автором имя** для определения {{Glossary("browsing context", "контекста просмотра")}}, который будет использован при отображении результатов навигации из элементов {{HTMLElement("a")}}, {{HTMLElement("area")}} или {{HTMLElement("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`](#target) содержит символ ASCII переноса строки, табуляции или символ `<`, значение сбрасывается на `_blank`.
Это необходимо для предотвращения атак с инъекцией незавершённой разметки. Это вид атаки без использования скриптов, при которой в страницу внедряется незавершённый атрибут `target`, в который попадает весь последующий текст до тех пор, пока браузер не встретит символ, закрывающий атрибут.

### Open Graph

Теги [Open Graph](https://ogp.me/) не учитывают `<base>` и всегда должны содержать полные абсолютные URL-адреса. Например:

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

## Примеры

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

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

<table class="properties">
<tbody>
<tr>
<th scope="row">
<a href="/ru/docs/Web/Guide/HTML/Content_categories">Категории контента</a>
</th>
<td>Метаданные</td>
</tr>
<tr>
<th scope="row">Допустимое содержимое</th>
<td>Отсутствует. Это {{Glossary("void element","пустой элемент")}}.</td>
</tr>
<tr>
<th scope="row">Пропуск тегов</th>
<td>Должен иметь открывающий тег и не иметь закрывающего.</td>
</tr>
<tr>
<th scope="row">Допустимые родители</th>
<td>Тег {{HTMLElement("head")}}, который не содержит другой элемент <code>&lt;base&gt;</code>.</td>
</tr>
<tr>
<th scope="row">Неявная ARIA-роль</th>
<td><a href="https://www.w3.org/TR/html-aria/#dfn-no-corresponding-role">Нет соответствующей роли</a></td>
</tr>
<tr>
<th scope="row">Допустимые ARIA-роли</th>
<td>Атрибут <code>role</code> не допускается</td>
</tr>
<tr>
<th scope="row">DOM-интерфейс</th>
<td>{{domxref("HTMLBaseElement")}}</td>
</tr>
</tbody>
</table>

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

{{Specifications}}
Expand Down