Когда использовать target=_blank

Когда использовать target=_blank

От автора: У ссылки может быть атрибут target, контролирующий то, что происходит при клике по ней. Одним из возможных значений этого атрибута является _blank, который говорит браузеру при клике по этой ссылке открыть новое окно (или вкладку, если пользователь предпочтет ее).

Это считалось «неправильным» в HTML (может, только в XHTML?), но все равно применялось, потому что работало. В HTML5 все стало абсолютно законным. Но имеются ли значимые причины поступать подобным образом?

Плохой повод: потому что вам так нравится

Нравится вам это или нет, target=»_blank» изменяет поведение по умолчанию. Ссылки, открывающиеся в той же странице – вот поведение по умолчанию (как будто в ссылке имеется target=»_self»). Возможно, вы вошли во вкус и открываете все ссылки в новых окнах/вкладках. Отлично, но лучше предположите, что большей части пользователей более удобно поведение по умолчанию. И, таким образом, они чувствуют себя менее уютно, когда вы навязываете им другое.

Если это внутренний инструмент исключительно для вас, то делайте что пожелаете. Если сайтом пользуются другие люди, оставьте все как есть. Также стоит отметить, что пользователи могут открыть ссылку в новом окне/вкладке, щелкнув по ссылке правой кнопкой мыши (и выбрав нужный пункт). Это значит, что для ссылок доступны оба типа поведения. Это также значит, что если вам нравится открывать новые вкладки, то вы как хотите, но не следует навязывать кому-либо такое поведение. А при использовании target=»_blank» возможно только оно.

Плохой повод: вам хочется, чтобы пользователи вообще не покидали вашу страницу

У других сайтов должны быть ссылки в обычном стиле, но наш сайт особенный. Он важнее остальных и его нельзя покидать.

Плохой повод: «внутренние» и «внешние» ссылки различаются.

Наши «внутренние» ссылки (указывающие на наш собственный сайт) ведут себя обычным образом, но «внешние» (указывающие на другие сайты) открываются в новом окне/вкладке. Это связано с двумя вышеприведенными причинами, только это еще хуже. Вы прекрасно понимаете, что идеальны обычные ссылки, но если они означают, что пользователю придется покинуть ваш сайт, вам хочется разрушить этот идеал. Я слышал от множества людей, что это «традиция». Типа подразумевается, что это нужно делать именно так. Но это неверно.

Плохой повод: ссылка на PDF

Или любой другой вид несетевого ресурса. Почему требуется сделать ее по-другому? Можно же вернуться назад с помощью кнопки возврата. Если хотите помочь пользователям скачать файл, не открывая его, то это достойная задача для удобства пользования, но добиться ее можно разными путями. Начинающие могут применить атрибут download.

Плохой повод: так хочет мой клиент

Я понимаю довод: «Не хочу за это сражаться», так как у вас не так много энергии. Но странно, что это вообще оказывается битвой. Если клиент не доверяет вам в этом деле, то в чем же он вам вообще доверяет? Можно зайти с такой стороны:

По умолчанию ссылки открываются обычным образом. Существует несколько причин, по которым можно менять такое поведение, и это увенчается успехом, но для большинства ссылок это невозможно. Мы ведь не хотим навязывать пользователю свои желания и потенциально расстроить его этой мелочью. Нам нужно, чтобы наши пользователи были о нас хорошего мнения.

И надеемся, что ваш спокойный и обоснованный подход поможет вашему клиенту хорошо думать о вас.

Плохой повод: страница с бесконечной прокруткой

Бесконечная прокрутка – коварная штука. С одной стороны, она может оказать хорошее пользовательское впечатление, потому что способна беспрерывно доставлять содержимое. И может оказать плохое впечатление, будучи неправильно выполненной. Возврат «назад» на странице с бесконечной прокруткой в большинстве случаев должен отправлять туда, где вы остановились. Решение этой сложной проблемы – ваша работа. Просто заставить ссылки открываться в новых вкладках для того, чтобы эта проблема никогда не возникала – означает избегать своей работы.

Хорошая причина: пользователем инициируется проигрывание медиаконтента

Например: музыки, видео, подкаста… Пользователь начал проигрывание. Перемещение страниц остановит его. В этот момент пусть ссылки либо открываются в новых вкладках, либо спрашивайте, уверен ли пользователь, что хочет покинуть страницу. Так вы постараетесь и сделать хорошо для него, и не дать ему покинуть страницу.

Мы уже раскрывали здесь эту идею. Если проигрывается медиасреда, обрабатывайте ссылки особым образом. Если не проигрывается, ссылки должны быть в обычном состоянии. Несмотря на то, что я говорю, посмотрите на YouTube’е – при смене видеороликов вас не достают этим вопросом.

Хорошая причина: пользователь работает на этой странице с чем-то, что может потеряться при ее смене

Возможно, пользователь что-то пишет. Или приводит в порядок. Делает что угодно. Щелчок по ссылке и смена страниц может оказаться волнительным, ужасным моментом. Я что, потерял все, что делал? Даже если вами предусмотрена гарантия того, что он не потеряет свою работу, следует избегать введения пользователя в подобное паническое состояние. Я подумал о CodePen, где пользователи часто пишут код. Чтобы помочь им, мы делаем следующее:

Ссылки, ведущие на другие страницы и явно являющиеся ссылками в стиле «Узнать больше» (например, [?]), видные только при взаимодействии с редактором, открываются в новой вкладке.

У обычных ссылок (например, ссылок нижнего колонтитула) нормальное поведение, но мы определяем, есть ли в редакторе несохраненные изменения и предлагаем сохранить их перед выходом со страницы.

Если вы все же уходите на другой сайт (или ваш браузер падает), мы сохраняем состояние редакторов в localStorage и вы не теряете свою работу.

Окончание работы – совсем другое дело. Конечно, вам не хочется терять клиентов при выходе из сайта. Ссылки на что-то вроде «Информации о доставке» должны открываться без необходимости покидать сайт. «Прочтение статьи», по моему мнению, не даст вам никакого опыта. Так как (обычно) вернуться обратно очень легко (большинство браузеров даже делают прокрутку до того места, где вы перед этим находились), то на самом деле риск потерять что-то отсутствует.

Хорошая причина: некая техническая точка зрения

Я создаю электронную почту, которую нужно открывать в Outlook Kangaroo 2009 Enterprise Edition, и ссылки должны иметь target=»blank», иначе они станут открываться в окне просмотра боковой колонки и … Отлично.

Технический аспект

Вдруг вам придется…

Как заставить пользователя подтвердить свое желание покинуть страницу:

window.onbeforeunload = function() {
  return "Two buttons will be below this message asking if user wants to stay on this page or leave.";
}

Драматический накал

Понимаю, я здесь веду себя весьма упрямо. Это одна из тех тем, по которым у каждого имеется свое мнение. Не стесняйтесь поделиться им, конечно, но давайте по возможности сосредоточимся на хладнокровном обсуждении ситуаций, решений и исходных данных.

Автор: Chris Coyier

Источник: http://css-tricks.com/

Редакция: Команда webformyself.

Практика HTML5 и CSS3 с нуля до результата!

Получите бесплатный пошаговый видеокурс по основам адаптивной верстки с полного нуля на HTML5 и CSS3

Получить

Метки: ,

Комментарии Вконтакте:

Комментарии Facebook:

Комментарии (8)

  1. Евгений

    Что-то я не совсем понял о чем статья…
    Типа «target=’_blank’» навязывает пользователю мою точку зрения и противоречит свободе пользователя???

  2. Евгения

    Действительно, плохой повод разделять внешние и внутренние ссылки… Чушь какая-то. Это почему же плохой? Лично меня бесит, что я должна каждый раз правой кнопкой в новом окне внешние ссылки открывать. Тем более, что у нас полно пользователей, которые и не знают даже, что так можно сделать. А поведение тех разработчиков сайтов, которые в футере ставят ссылку на свой сайт с открытием в этом же окне, я считаю, мягко выражаюсь, некорректным. Сайт для того и делается, чтобы люди с него подольше не уходили. И потом, хорошо это или плохо, target=’_blank’, а это кто решил, что это плохо? В конституции так написано? Уважаемый переводчик статьи, в англоязычном интернете тоже полно бредовых статей, только не забывайте, что это могут прочитать новички, для которых статья будет откровением и на интернет-просторах добавится еще масса неюзабельных сайтов. Да, конечно, target=’_blank’ в пределах одного сайта нужно использовать очень аккуратно, иначе будет другая крайность — открытие всех страниц в новых окнах, это тоже бред. Но я бы на перевод этого… даже время тратить не стала бы.

    • Андрей Кудлай

      Евгения, я полностью согласен с вами в этом вопросе… но все же это мнение другой стороны, так почему бы его также не выслушать?

  3. Евгения

    Ну вот пусть автор статьи так себе сайты и делает, а новички, надеюсь, прочитают наши комментарии, прежде, чем делать так же, как Chris Coyier. В целом, с комментариями получилось даже познавательно, правда?

    • Андрей Кудлай

      Познавательно, правда.
      Кстати, у нас все внешние ссылки также с target=_blank )

  4. Ярослав

    Поддерживаю Евгению относительно target=’_blank’. Мне куда удобнее, когда заинтересовавшая меня ссылка откроет новую вкладку в браузере, чем если она уберет с моих глаз статью, в которой эта ссылка присутствует. Впрочем, это моя точка зрения, и, как писал Андрей Кудлай, мнение другой стороны тоже имеет право быть услышаным :)

  5. Ivan

    И все же Вы используете _blank для внешних ссылок (например для источника)

    • Андрей Кудлай

      Да, потому что считаю это все же более правильным для внешних ссылок. А статья эта переводная… просто еще одно мнение :)

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Я не робот.

Spam Protection by WP-SpamFree