1. 10. Как работает атрибут target
Глава 1.15. Как работает атрибут target
Чтобы управлять способами открытия ссылки, существует атрибут target
. Разберёмся с его возможностями. У атрибута есть несколько ключевых значений:
_self
— откроет ссылку в том окне браузера (или фрейма), в котором находится ссылка;_blank
— откроет ссылку в новой вкладке браузера;_parent
— откроет ссылку в родительском окне браузера (или фрейма), относительно того, в котором находится ссылка; если такого нет, то сработает как_self
;_top
— откроет ссылку в самом верхнем уровне, то есть почти всегда это будет окно браузера, в котором находится ссылка; если ссылка уже находится на странице, то будет работать как_self
.
Помимо ключевых значений ему можно задать произвольное значение. Тогда ссылка откроется в фрейме с соответствующим атрибутом name
. Если такого фрейма не найдётся, то ссылка откроется в новой вкладке (как при использовании значения _blank)
.
Применение на практике
Сегодня из всех способов применяется только target="_blank"
для того, чтобы открыть ссылку в новой вкладке. Все прочие варианты на практике уже не используются.
Безопасность
Однако, у этого метода есть слабое место: страница, открывающаяся в новой вкладке, имеет частичный доступ к странице, с которой совершён переход. Имея такой доступ, злоумышленник может получить личные данные пользователя.
Чтобы этого избежать, нужно воспользоваться атрибутом rel
, записав в него два значения:
nofollow
— делает ссылку закрытой для индексирования поисковыми системами;noopener
— создаёт новый контекст для открываемой страницы, то есть разрывает связь между страницами, открывшаяся страница больше не имеет доступа к исходной.
Выглядит это так:
<a href="https://htmlacademy.ru" target="_blank" rel="nofollow noopener">.html academy</a>
Кроме того есть способы создать новый контекст с помощью JavaScript, но в этой главе они не рассматриваются.
Last updated