Подтвердить что ты не робот

Target = "_ blank" vs. target = "_ new"

Какая разница между <a target="_new"> и <a target="_blank"> и какой должна использоваться, если я просто хочу открыть ссылку в новой вкладке/окне?

4b9b3361

Ответ 1

Используйте "_blank"

Согласно спецификации HTML5:

Допустимым именем контекста просмотра является любая строка с хотя бы одним символом, который не начинается с символа LOW LINE U + 005F. (Имена, начинающиеся с символа подчеркивания, зарезервированы для специальных ключевых слов.)

Допустимое имя контекста просмотра или ключевое слово - это любая строка, которая является либо действительным именем контекста просмотра, либо совпадающим с регистром ASCII для одного из: _blank, _self, _parent или _top. - Источник

Это означает, что в HTML5 нет такого ключевого слова, как _new в HTML5, а не в HTML4 (и, следовательно, XHTML). Это означает, что не будет никакого последовательного поведения, если вы используете это как значение для целевого атрибута.

Рекомендации по безопасности

Как указывали Даниил и Майкл в комментариях, при использовании целевого _blank указывающего на ненадежный веб-сайт, вы должны, кроме того, установить rel="noopener". Это препятствует тому, чтобы сайт открытия работал с открывателем через JavaScript. См. Это сообщение для получения дополнительной информации.

Ответ 2

Использование target="_blank" даст указание браузеру создать новую вкладку или окно браузера, когда пользователь нажимает на ссылку.

Использование target="_new" технически недействительно в соответствии со спецификациями, но насколько я знаю, каждый браузер будет вести себя одинаково:

  • он будет искать вкладку или окно с именем контекста "_new"
  • если найдена вкладка/окно "_new" , тогда URL-адрес загружается в нее
  • Если он не найден, создается новая вкладка/окно с именем контекста "_new" и загруженным в него URL-адресом

Примечание target="_new" будет вести себя точно так же, как target="new", а последний является допустимым HTML, а первый - недопустимым HTML.

Добавив некоторую путаницу к этому, в HTML4 атрибут target устарел. В HTML5 это решение было отменено, и оно является официальной частью спецификации еще раз. Все браузеры поддерживают target независимо от того, какую версию HTML вы используете, но некоторые валидаторы будут отмечать использование как устаревшее, если ваш doctype является HTML4.

Ответ 3

TL; DR
ИСПОЛЬЗОВАТЬ _blank

Атрибут target указывает, где можно открыть связанный документ.

USAGE: target="xyz"  [don't forget double quotes]

_blank  Opens the linked document in a new window or tab
_self   Opens the linked document in the same frame as it was clicked (this is default)
_parent     Opens the linked document in the parent frame
_top    Opens the linked document in the full body of the window 
framename   Opens the linked document in a named frame

SINCE "_new" не относится ни к одному из этих ИТ, КОТОРЫЕ НЕ ПРИНИМАЮТСЯ под "framename", поэтому, если пользователь повторно щелкнет по этой гиперссылке, он не откроет новую вкладку, а обновит существующую вкладку. Если в _blank, если пользователь щелкает дважды, открываются две новые вкладки.

Ответ 4

Возможно, это было задано раньше, но:

"каждая ссылка, которая указывает target =" _ new ", ищет и находит это окно по имени и открывается в нем.

Если вы используете target = "_ blank", новое окно будет создано каждый раз поверх текущего окна. "

отсюда: http://thedesignspace.net/MT2archives/000316.html

Ответ 5

Я понимаю, что target = whatever будет искать фрейм/окно с этим именем. Если он не найден, он откроет новое окно с этим именем. Если whatever == "_new", оно будет выглядеть так же, как если бы вы использовали _blank, кроме.....

Использование одного из зарезервированных имен целей будет обходить фазу "поиска". Таким образом, target = "_blank" на дюжине ссылок откроет дюжину пустых окон, но target = whatever на дюжине ссылок откроет только одно окно. target = "_new" на дюжине ссылок может привести к непостоянному поведению. Я не пробовал его в нескольких браузерах, но должен открывать только одно окно.

По крайней мере, так я интерпретирую правила.

Ответ 6

Я знаю, что это старый вопрос, и правильный ответ, использующий _blank, упоминался несколько раз, но использование <a target="somesite.com" target=_blank>Link</a> - это риск для безопасности.

Рекомендуется (преимущества производительности) использовать <a href="somesite.com" target="_blank" rel="noopener noreferrer">Link</a>

Ответ 7

target="_blank" открывает новую вкладку в большинстве браузеров.

Ответ 8

Предостережение - не забудьте всегда включать "кавычки" - по крайней мере, в Chrome, target=_blank (без кавычек) не является таким же, как target="_blank" (с кавычками).

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

Ответ 9

  • _blank как целевое значение каждый раз порождает новое окно,
  • _new будет порождать только одно новое окно.

Кроме того, каждое нажатие ссылки с целевым значением _new заменит страницу, загруженную в ранее порожденное окно.

Вы можете щелкнуть здесь. Когда использовать _blank или _new, чтобы попробовать это для себя.

Ответ 10

Атрибут target для ссылки заставляет браузер открывать целевую страницу в новом окне браузера. Использование _blank в качестве целевого значения будет каждый раз появляться в новом окне, а при использовании _new будет появляться только одно новое окно, и каждая ссылка, нажатая с целевым значением _new, заменит страницу, загруженную в ранее порожденное окно

Ответ 11

Чтобы открыть ссылку в новой вкладке/окне, вы будете использовать <a target="_blank">.

value _blank= целевой контекст просмотра: новый: вкладка или окно в зависимости от настроек просмотра

значение _new= недействительно; нет такого значения в HTML5 для атрибута target для элемента

целевой атрибут со всеми его значениями для элемента: видео-демонстрация

Ответ 12

Использование _New полезно при работе на страницах Iframed. Поскольку target = "_ blank" не выполняет трюк и открывает страницу на одном и том же iframe... target new - лучшее решение для страниц Iframe. Только мои пять центов.