Skip to content

Commit

Permalink
[ru]: update Web/HTML/Element/base translation (#24271)
Browse files Browse the repository at this point in the history
* [ru]: <base> docs sync

* [ru]: <base> Technical summary title added

* [ru]: <base> - page-type browser-compat removed, sourceCommit added

* [ru]: <base> - typo

* Apply suggestions from code review

Co-authored-by: Leonid Vinogradov <[email protected]>

---------

Co-authored-by: Leonid Vinogradov <[email protected]>
  • Loading branch information
sedlukha and leon-win authored Nov 22, 2024
1 parent 5d6e44a commit 81f02cf
Showing 1 changed file with 82 additions and 20 deletions.
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

0 comments on commit 81f02cf

Please sign in to comment.