Цель = _blank или нет target = _blank, вот в чем вопрос! - PullRequest
28 голосов
/ 11 октября 2010

Должны ли ссылки на внешние сайты устанавливать target = _blank?Например, я нахожусь на www.acme.net и имею ссылку на www.otherplace.net, если эта ссылка будет:

веб-сайт другого места

или

Ответы [ 8 ]

17 голосов
/ 11 октября 2010

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

Однако я также знаю, что компании часто хотят «сохранить контроль» и поэтому настаивают на создании новой вкладки / окна для внешних сайтов. И я тоже это понимаю - это очень практичный подход, особенно если учесть, что многие пользователи не знают, как управлять своим собственным UA.

Я часто склоняюсь к среднему курсу, добавляя изображение (я уверен, что вы видели много в свое время), которое указывает, какие ссылки являются внешними, и примечание , указывающее, что внешние ссылки будут открываться в новой вкладке / окне.

Не совсем «чистый», как первый вариант, но, по крайней мере, пользователю ясно, как будет вести себя сайт.

10 голосов
/ 11 октября 2010

обнаружил это на сайте w3c

Контрольные точки в этом разделе:

• 10.1 Пока пользовательские агенты не разрешат пользователям отключать порожденные окна, не вызывайте всплывающие окна или другиеокна появляются и не меняют текущее окно без уведомления пользователя.[Приоритет 2] Разработчики контента должны избегать указания нового окна в качестве цели фрейма с target = "_ blank".

Подробнее здесь

theВопрос, который вам нужно задать вашему клиенту: «На какой уровень приоритета вы стремитесь достичь?»

4 голосов
/ 11 октября 2010

Я думаю, это полностью зависит от вашего варианта использования.

Если вы открываете сайт в другом домене и хотите, чтобы ваш сайт оставался открытым, и я думаю, что в большинстве случаев вы это делаете, используйте target = '_ blank'.

Как пользователь, я нахожу это раздражающим, когда я нажимаю на ссылку на другой домен, и это перемещает меня из исходного домена. Конечно, использование ctrl + click в большинстве браузеров - это способ защититься от этого - но зачем заставлять пользователя больше работать?

3 голосов
/ 11 октября 2010

Также стоит упомянуть, что использование целевого атрибута недопустимо в формате xhtml.Я обычно открываю ссылки во внешнем окне или вкладке, потому что я вижу, что большинство обычных пользователей (не продвинутых) хотят именно так, чтобы они всегда могли вернуться на сайт, на котором они были - обычно они уходят вглубь другого сайта.и тогда для них становится недружественным необходимость многократно нажимать назад.

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

Что касается проверки xhtml, вы можете захотеть украсить свои ссылки с помощью rel = "external" или какого-либо подобного слова, а затем использовать эту функцию JS для обработки открытия нового окна.Я делал это примерно 99% времени за последние несколько лет.

function externalLinks() {
    if (!document.getElementsByTagName) return;
    var anchors = document.getElementsByTagName("a");
    for (var i = 0; i < anchors.length; i++) {
        var anchor = anchors[i];
        if (anchor.getAttribute("href") &&
       anchor.getAttribute("rel") == "external")
            anchor.target = "_blank";
    }
}

/**
    DOCUMENT LOAD
**/
$(document).ready(function () {
    /** 
        external links
    **/
    externalLinks();
....
2 голосов
/ 19 июня 2015

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

2 голосов
/ 01 января 2012

Вы должны предсказать, что хотят ваши пользователи. Используйте target="_blank", если ожидаете, что ваши пользователи захотят остаться на сайте.

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

Некоторые люди утверждают, что читатель может просто нажать «Назад», когда он хочет вернуться на страницу,

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

1 голос
/ 07 мая 2013

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

[www.google.com] [Открыть Google на местеэтой страницы]

1 голос
/ 11 октября 2010

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

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

...