Краткое содержание текущих ответов: _newне имеет особого значения. Вы могли бы написать _white_little_lambтакже.
Альваро Гонсалес
10
@ x3ro Как это неправильно говорить, что " _new" не имеет особого значения?
Альваро Гонсалес
3
@ ÁlvaroG.Vicario Я имел в виду «Вы могли бы написать ... вместо этого». Но, думая об этом, я бы сказал, что «не имеет особого значения» - это не то же самое, что «явно обескуражен», но это может меня придирать;)
fresskoma
5
Я хотел бы напомнить всем, что использование target="_blank"без rel="noopener"является потенциальной уязвимостью безопасности. Ищите, rel="noopener"чтобы узнать больше.
Допустимое имя контекста просмотра любая строка, по крайней мере один символ , который не начинается с символа U + 005F LOW LINE. (Имена, начинающиеся с подчеркивания, зарезервированы для специальных ключевых слов.)
Допустимое имя контекста просмотра или ключевое слово является любая строка, либо действительное имя контекста просмотра или что является ASCII регистронезависимым матч одного из: _blank, _self, _parent или _top «. - Источник
Это означает, что такого ключевого слова нет, как _newв HTML5, так и в HTML4 (и, следовательно, XHTML) . Это означает, что не будет никакого последовательного поведения, если вы будете использовать это как значение для целевого атрибута.
Рекомендация по безопасности
Как отметили Даниэль и Майкл в комментариях, при использовании цели, _blankуказывающей на ненадежный веб-сайт, вы должны, кроме того, установить rel="noopener". Это препятствует тому, чтобы открывающий сайт связывался с новичком через JavaScript. Смотрите этот пост для получения дополнительной информации.
Исключение выделенного текста из спецификации делает эту цитату звучащей до смешного круглой. Я читаю это как «A valid browsing context nameили ключевое слово - любая строка, которая является valid browsing context nameили ...»
Алекс Грин
6
@lyoshenka, @ x3ro: Я позволил себе добавить предыдущий абзац в цитату. Это должно прояснить путаницу.
Mercator
5
@aesede: прочитайте спецификацию Они недопустимы , потому что «my_custom_name» не может иметь префикс с подчеркиванием. Таким образом, "новый" будет хорошо, но "_new" нет!
Пожалуйста , обратите внимание , добавив , что люди должны также добавить rel="noopener noreferrer"вследствие яваскрипта атаки уязвимости изtarget="_blank"
Michael
126
Использование target="_blank"будет инструктировать браузер создавать новую вкладку или окно браузера, когда пользователь нажимает на ссылку.
Использование target="_new"технически недопустимо в соответствии со спецификациями, но, насколько я знаю, каждый браузер будет вести себя одинаково:
он будет искать вкладку или окно с именем контекста "_new"
если вкладка / окно "_new" найдена, то в нее загружается URL
если он не найден, создается новая вкладка / окно с именем контекста "_new" и загружаемым в него URL
Примечание target="_new"будет вести себя точно так же, как target="new"и последний, действительный HTML, тогда как первый является недействительным HTML.
Добавляя некоторую путаницу к этому, в HTML4 targetатрибут устарел. В HTML5 это решение было отменено, и оно снова стало официальной частью спецификации. Все браузеры поддерживают targetнезависимо от того, какую версию HTML вы используете, но некоторые валидаторы помечают использование как устаревшее, если ваш тип документа - HTML4.
Так что, в принципе, если у меня есть две (или более) ссылки target="_new", они обе откроются в одной вкладке, одна перезаписывает другую?
арт-солопов
4
@ Арт-Солопов, насколько я знаю, да, это то, что будет происходить в каждом браузере. Однако «_new» является недопустимым значением для цели, поэтому не делайте этого.
Абхи Беккерт,
25
TL; DR USE _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
Поскольку "_new" не является ни одним из этих, ОНО БУДЕТ ПОД "framename", поэтому, если пользователь повторно щелкнет по этой гиперссылке, он не откроет новую вкладку, а обновит существующую вкладку. Тогда как в _blank, если пользователь нажимает дважды, открываются 2 новые вкладки.
Я знаю, что это старый вопрос, и правильный ответ, использование _blank, уже упоминался несколько раз, но использование <a target="somesite.com" target="_blank">Link</a>- это угроза безопасности .
я понимаю, что target = whateverбуду искать рамку / окно с таким именем. Если он не найден, откроется новое окно с таким именем. Если whatever == "_new", это будет выглядеть так же, как если бы вы использовали, _blankкроме .....
Использование одного из зарезервированных имен цели обойдёт фазу «просмотра». Таким образом, target = "_blank"на дюжине ссылок откроется дюжина пустых окон, а target = whateverна дюжине ссылок откроется только одно окно. target = "_new"на десяток ссылок может дать непоследовательное поведение. Я не пробовал это на нескольких браузерах, но должен открыть только одно окно.
Осторожно - не забывайте всегда включать «кавычки» - по крайней мере, в Chrome target=_blank(без кавычек) НЕ ТО ЖЕ, как target="_blank"(с кавычками).
Последний открывает каждую ссылку в новой вкладке / окне. Первая (пропущенные кавычки) открывает первую ссылку, по которой вы щелкаете в одной новой вкладке / окне, затем перезаписывает эту же вкладку / окно при каждой последующей щелчке по ссылке (которая также называется отсутствующими кавычками).
Очень хороший момент. Я столкнулся с этой проблемой, когда я не заключил _blank в кавычки. Ссылка, по которой я щелкал на только что созданной «пустой» вкладке, заключалась в том, что она переписывала содержимое этой вкладки, а не открывала новую. Заключение в кавычки _blank заставляет chrome каждый раз открывать новую вкладку.
Стив Шерер
Также убедитесь, что вы используете «_blank», а не «_BLANK». Chrome на самом деле суетлив и не открывает новую вкладку, используя "_BLANK" несколько раз.
Стив Шерер
5
_blank в качестве целевого значения будет порождать новое окно каждый раз,
_new будет вызывать только одно новое окно.
Кроме того, каждая ссылка, щелкнувшая с целевым значением _new, заменит страницу, загруженную в ранее появившемся окне.
Можете ли вы перечислить, какие браузеры уважают, _newкак описано?
Дима Тиснек
@qarma Это поведение, как описано во всех браузерах, о которых я знаю, _newэто не волшебное ключевое слово, это просто имя, если окно с таким именем существует, оно будет использовать его повторно, иначе оно откроет его. Нажав несколько ссылок для этого окна, вы просто откроете разные страницы в названном окне, а не откроете несколько новых страниц.
Scragar
Спецификация фактически предлагает браузерам, что они ignoreпредназначаются, который начинается с подчеркивания, но не являются ключевыми словами. Нет предложений о том, что должен делать браузер, когда он «игнорирует» недопустимое имя цели. Возможности включают: (1) обрабатывать его как "_blank" (2) обрабатывать его как имя окна (как если бы не было недопустимого подчеркивания) (3) обрабатывать его как явно пустое имя окна (4) обрабатывать его как там не было целевого атрибута. - Любой браузер может выбрать любую интерпретацию.
Джесси Чизхольм
0
Атрибут target ссылки заставляет браузер открывать страницу назначения в новом окне браузера. Использование _blankв качестве целевого значения будет порождать новое окно каждый раз, в то время как использование _newбудет порождать только одно новое окно, и каждая ссылка, щелкнувшая с целевым значением _new, заменит страницу, загруженную в ранее появившемся окне.
Использование _New полезно при работе на страницах с Iframed. Так как target = "_ blank" не справляется с задачей и открывает страницу в том же iframe ... target new - лучшее решение для страниц Iframe. Только мои пять центов.
_new
не имеет особого значения. Вы могли бы написать_white_little_lamb
также._new
" не имеет особого значения?target="_blank"
безrel="noopener"
является потенциальной уязвимостью безопасности. Ищите,rel="noopener"
чтобы узнать больше.Ответы:
Используйте "_blank"
Согласно спецификации HTML5 :
Это означает, что такого ключевого слова нет, как
_new
в HTML5, так и в HTML4 (и, следовательно, XHTML) . Это означает, что не будет никакого последовательного поведения, если вы будете использовать это как значение для целевого атрибута.Рекомендация по безопасности
Как отметили Даниэль и Майкл в комментариях, при использовании цели,
_blank
указывающей на ненадежный веб-сайт, вы должны, кроме того, установитьrel="noopener"
. Это препятствует тому, чтобы открывающий сайт связывался с новичком через JavaScript. Смотрите этот пост для получения дополнительной информации.источник
valid browsing context name
или ключевое слово - любая строка, которая являетсяvalid browsing context name
или ...»rel="noopener noreferrer"
вследствие яваскрипта атаки уязвимости изtarget="_blank"
Использование
target="_blank"
будет инструктировать браузер создавать новую вкладку или окно браузера, когда пользователь нажимает на ссылку.Использование
target="_new"
технически недопустимо в соответствии со спецификациями, но, насколько я знаю, каждый браузер будет вести себя одинаково:Примечание
target="_new"
будет вести себя точно так же, какtarget="new"
и последний, действительный HTML, тогда как первый является недействительным HTML.Добавляя некоторую путаницу к этому, в HTML4
target
атрибут устарел. В HTML5 это решение было отменено, и оно снова стало официальной частью спецификации. Все браузеры поддерживаютtarget
независимо от того, какую версию HTML вы используете, но некоторые валидаторы помечают использование как устаревшее, если ваш тип документа - HTML4.источник
target="_new"
, они обе откроются в одной вкладке, одна перезаписывает другую?TL; DR
USE _blank
Атрибут target указывает, где открыть связанный документ.
Поскольку "_new" не является ни одним из этих, ОНО БУДЕТ ПОД "framename", поэтому, если пользователь повторно щелкнет по этой гиперссылке, он не откроет новую вкладку, а обновит существующую вкладку. Тогда как в _blank, если пользователь нажимает дважды, открываются 2 новые вкладки.
источник
Я знаю, что это старый вопрос, и правильный ответ, использование
_blank
, уже упоминался несколько раз, но использование<a target="somesite.com" target="_blank">Link</a>
- это угроза безопасности .Он рекомендуется ( выигрыш в производительности ) для использования:
источник
Это, возможно, спросили раньше, но:
"каждая ссылка, которая указывает target =" _ new "ищет и находит это окно по имени и открывает в нем.
Если вы используете target = "_ blank", новое окно будет создаваться каждый раз поверх текущего окна. "
отсюда: http://thedesignspace.net/MT2archives/000316.html
источник
target="_blank"
открывает новую вкладку в большинстве браузеров.источник
я понимаю, что
target = whatever
буду искать рамку / окно с таким именем. Если он не найден, откроется новое окно с таким именем. Еслиwhatever == "_new"
, это будет выглядеть так же, как если бы вы использовали,_blank
кроме .....Использование одного из зарезервированных имен цели обойдёт фазу «просмотра». Таким образом,
target = "_blank"
на дюжине ссылок откроется дюжина пустых окон, аtarget = whatever
на дюжине ссылок откроется только одно окно.target = "_new"
на десяток ссылок может дать непоследовательное поведение. Я не пробовал это на нескольких браузерах, но должен открыть только одно окно.По крайней мере, так я интерпретирую правила.
источник
Осторожно - не забывайте всегда включать «кавычки» - по крайней мере, в Chrome
target=_blank
(без кавычек) НЕ ТО ЖЕ, какtarget="_blank"
(с кавычками).Последний открывает каждую ссылку в новой вкладке / окне. Первая (пропущенные кавычки) открывает первую ссылку, по которой вы щелкаете в одной новой вкладке / окне, затем перезаписывает эту же вкладку / окно при каждой последующей щелчке по ссылке (которая также называется отсутствующими кавычками).
источник
Кроме того, каждая ссылка, щелкнувшая с целевым значением _new, заменит страницу, загруженную в ранее появившемся окне.
Вы можете нажать здесь, когда использовать _blank или _new, чтобы попробовать сами.
источник
_new
как описано?_new
это не волшебное ключевое слово, это просто имя, если окно с таким именем существует, оно будет использовать его повторно, иначе оно откроет его. Нажав несколько ссылок для этого окна, вы просто откроете разные страницы в названном окне, а не откроете несколько новых страниц.ignore
предназначаются, который начинается с подчеркивания, но не являются ключевыми словами. Нет предложений о том, что должен делать браузер, когда он «игнорирует» недопустимое имя цели. Возможности включают: (1) обрабатывать его как "_blank" (2) обрабатывать его как имя окна (как если бы не было недопустимого подчеркивания) (3) обрабатывать его как явно пустое имя окна (4) обрабатывать его как там не было целевого атрибута. - Любой браузер может выбрать любую интерпретацию.Атрибут target ссылки заставляет браузер открывать страницу назначения в новом окне браузера. Использование
_blank
в качестве целевого значения будет порождать новое окно каждый раз, в то время как использование_new
будет порождать только одно новое окно, и каждая ссылка, щелкнувшая с целевым значением_new
, заменит страницу, загруженную в ранее появившемся окне.источник
Для того, чтобы открыть ссылку в новой вкладке / окне, вы будете использовать
<a target="_blank">
.значение
_blank
= целевой контекст просмотра: новый: вкладка или окно в зависимости от настроек просмотразначение
_new
= недействительно; нет такого значения в HTML5 для целевого атрибута элементаатрибут target со всеми значениями элемента: демонстрация видео
источник
Использование _New полезно при работе на страницах с Iframed. Так как target = "_ blank" не справляется с задачей и открывает страницу в том же iframe ... target new - лучшее решение для страниц Iframe. Только мои пять центов.
источник