target= "пустой" против target= " новый"



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

444   12  

12 ответов:

использовать "настроек"

по словам HTML5 Spec:

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

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

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

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

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

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

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

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

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

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

TL; DR
используйте _blank

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

вы можете здесь когда использовать _blank или _new чтобы попробовать его для себя.

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

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

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

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

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

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

Comments

    Ничего не найдено.