Открыть ссылку в новой вкладке или окне

Можно ли открыть ссылку a href в новой вкладке вместо той же вкладки?

<a href="http://your_url_here.html">Link</a>

person Rene    schedule 21.03.2013    source источник
comment
Почему этот вопрос о HTML помечен как дубликат вопроса о JavaScript?   -  person Phil    schedule 20.02.2016
comment
Всякий раз, когда вы используете target=_blank, помните о возможных атаках табуляции! См. также: danielstjules.github.io/blankshield (Чтобы предотвратить это, добавьте rel="noopener" к ссылкам)   -  person Carl Ambroselli    schedule 22.03.2016
comment
это не дубликат.   -  person Ilan Schemoul    schedule 08.07.2017


Ответы (4)


Вы должны добавить target="_blank" и rel="noopener noreferrer" в тег привязки.

Например:

<a target="_blank" rel="noopener noreferrer" href="http://your_url_here.html">Link</a>

Добавление rel="noopener noreferrer" не является обязательным, но это рекомендуемая мера безопасности. Более подробную информацию можно найти по ссылкам ниже.

Источник:

person Nathan    schedule 21.03.2013
comment
_blank открывается в новом окне, а не в новой вкладке. Редактировать: Только что попробовал. Судя по всему, это неправда. Тогда мне интересно, какая разница с _tab - person Toon Casteele; 21.03.2013
comment
нет _tab... есть _new и _blank - person Nathan; 21.03.2013
comment
По данным w3schools, также нет ничего нового: w3schools.com/tags/att_a_target.asp - person Toon Casteele; 21.03.2013
comment
_new отлично работает... даже если его там нет... - person Nathan; 21.03.2013
comment
Как и _tab... Это именно то, что я хочу сказать. См. реакцию @DarkCthulhu на мой ответ о группах - person Toon Casteele; 21.03.2013
comment
_blank обрабатывается поставщиком. Большинство современных браузеров по умолчанию открывают новую вкладку. Старые браузеры, такие как IE hoard, будут открываться в новом окне — либо потому, что у них нет функции вкладок, либо потому, что их поведение по умолчанию — это новое окно. - person Larry; 31.05.2013
comment
Если не используется специальное имя, как указано в ссылках выше, target — это имя окна (или фрейма), на которое вы ориентируетесь. Если вы установите его на _tab или _new, то откроется окно с этим именем. Если пользователь щелкнет эту ссылку, вернется на исходную страницу и щелкнет другую ссылку с той же целью, вкладка/окно, открытое в первый раз, должно иметь загруженный в него контент. - person umassthrower; 05.01.2015
comment
Совет: помните об уязвимости из-за _blank. Дополнительная информация medium.com/@jitbit/ - person Aistis; 05.05.2016
comment
@ToonCasteele Хотя то, что вы говорите, верно, MDN считается более надежным источником, чем W3Schools. (Причину, почему здесь немного долго объяснять, и ее легко найти в Google) - person StubbornShowaGuy; 29.09.2016
comment
Target=”_blank” - уязвимость, объяснение на примере: mathiasbynens.github.io/rel-noopener - person BRap; 09.04.2018
comment
Уязвимость target=_blank может изменить только ваше window.location (она не может выполнять произвольный JS, как ошибочно говорится в связанной статье на Medium). noopener решает эту проблему. Для более старых браузеров noreferrer необходим, но это означает, что связанные веб-сайты не смогут узнать, откуда идет трафик (хотя это не влияет на SEO). - person now; 01.05.2019
comment
В Chrome 49 и Opera 36, ​​Firefox 52, Desktop Safari 10.1+ и iOS Safari 10.3+ noreferrer больше не нужен. - person now; 01.05.2019

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

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

person Gauthier    schedule 21.03.2013
comment
Я должен полностью согласиться с отказом от решения пользователя или браузера. Пользователь будет иметь предпочтение, к которому он привык, и это лишает его права на свои предпочтения. Однако, как говорится... бывают моменты, когда это необходимо. (печатать диалоги и т. д.) - person avanderw; 27.11.2013
comment
Хотя я чувствую, что это верно во многих случаях, для менее технических пользователей я думаю (мое мнение), что это просто часто неверно. Некоторым пользователям может понадобиться эта помощь, или они рискуют не знать, как вернуться на страницу, которую они хотели оставить открытой. Мои два цента, чтобы попытаться взглянуть на вещи с точки зрения пользовательского опыта. - person matthewsheets; 30.01.2014
comment
Я бы согласился с тем, что не следует использовать для веб-сайтов, но помните, что не весь HTML написан для веб-сайтов. Я думал о собственном веб-приложении, в котором было бы неплохо сделать так, чтобы некоторые ссылки открывались в новых вкладках, не обучая всех в офисе, как нажимать Ctrl+щелчок. - person TecBrat; 14.03.2014
comment
Хотя я в основном согласен с @gotson в отношении традиционных веб-сайтов ... становится так, что для веб-приложений вы можете не хотеть, чтобы внешние ссылки убивали ваше приложение. Хорошим примером является новая функция продвижения веб-приложений Chrome... где пользователям предоставляется средство запуска приложений без Chrome. В этом случае для перехода к внешним ссылкам и навигации по внешнему веб-сайту потребуется много нажатий кнопки «Назад», чтобы вернуться в приложение. - person Ray Foss; 16.03.2015
comment
Как это так высоко оценено, когда это даже не отвечает на вопрос? - person Yay295; 09.09.2015
comment
Я ценю, что это получило высокие оценки за то, что предложило лучший способ не создавать новую вкладку / окно. Однако у меня только что был контекст, в котором лучшим поведением было сделать именно это. В частности, я собираю сайт в GH Pages, и есть страницы, на которых я хочу предложить читателю внести быстрые исправления. Если ссылка нажата, они отправляются в репо для редактирования. После того, как редактирование будет завершено, они должны вернуться в браузер на несколько кликов. Или с _blank просто закрывают вкладку. Это также помогает им ориентироваться во время редактирования. - person Merovex; 26.10.2015
comment
Я бы явно не согласился с тем, что это лучшая практика, и утверждаю, что это полностью зависит от варианта использования. Например, я работаю над веб-приложением, в котором пользователь выполняет большую часть своей повседневной работы, и переход по ссылке на той же вкладке был бы ужасным. Точно так же, если бы у меня была страница учебника/инструкции, я бы дал ссылку на соответствующие материалы и не хотел бы перемещаться на месте. Однако, если страница предназначена только для использования пользователем, навигация на месте, вероятно, будет более идеальной. - person Spazmoose; 28.06.2017
comment
поправьте меня если я ошибаюсь. Я не вижу возможности установить открытые ссылки в новой вкладке в браузере Safari на Mac. Таким образом, использование _blank по-прежнему необходимо/полезно для таких случаев. - person prabhu; 19.02.2018
comment
Мне трудно принять это как лучшую практику. Почему-то с настольными приложениями никто не сомневается, что открытие нового окна/вкладки по сравнению с изменением содержимого в существующем приложении является исключительно решением дизайнера пользовательского интерфейса. - person Red; 01.07.2018
comment
Я думаю, что также могут быть последствия для SEO, если вы дадите браузеру указание не отправлять реферер, не так ли? - person Phil; 02.07.2019

установите для атрибута target вашего элемента <a> значение "_tab"

РЕДАКТИРОВАТЬ: это работает, однако W3Schools говорит, что такого целевого атрибута нет: http://www.w3schools.com/tags/att_a_target.asp

EDIT2: Из того, что я понял из комментариев. установка target на _blank приведет вас к новой вкладке или окну (в зависимости от настроек вашего браузера). Ввод чего-либо, кроме одного из приведенных ниже, создаст новую группу вкладок (я не уверен, как это работает):

_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
person Toon Casteele    schedule 21.03.2013
comment
вы имеете в виду _blank или _new... насколько я знаю, нет _tab - person Nathan; 21.03.2013
comment
Лол, я только что попробовал, и это сработало. Интересно, почему... - person Toon Casteele; 21.03.2013
comment
W3Schools — это НЕ W3C. См. w3fools.com. - person Jace Cotton; 21.03.2013
comment
Итак, вы собираетесь сказать мне, что атрибуты, на которые я ссылался, неверны @Jacedc? - person Toon Casteele; 21.03.2013
comment
@Jacedc Вы можете использовать что угодно вместо _tab. Он создает группу окон. - person Anirudh Ramanathan; 21.03.2013
comment
Не все в W3Schools неверно. Но прежде чем вы сказали W3C (Консорциум Всемирной паутины), а затем сослались на W3Schools, которые не имеют никакого отношения к W3C или вообще созданию веб-стандартов. Но я вижу, что вы его отредактировали. :) - person Jace Cotton; 21.03.2013
comment
Да, потому что вы указали на это, и я исправляюсь, спасибо за это :) - person Toon Casteele; 21.03.2013
comment
Как открыть 2 ссылки с _blank в 2 новых вкладках, а не в одной новой вкладке? - person ACV; 15.09.2015
comment
#@ACV, если в качестве цели указано _blank, они должны находиться на отдельных вкладках. Если у вас есть что-то отличное от перечисленных выше (например, _tab), новое окно/вкладка будет иметь это имя, и оба будут открываться в этом окне/вкладке. - person drevicko; 25.08.2017

Вы можете просто сделать это, установив target="_blank", у w3schools есть пример.

person Ehsan    schedule 21.03.2013
comment
просто и по делу, спасибо - person Emre; 01.08.2018
comment
Имейте в виду, что хотя добавление rel=noopener noreferrer является необязательным, оно имеет проблемы с безопасностью. Просто скопируйте принятый ответ или прочитайте ссылки, упомянутые там, чтобы узнать, зачем это нужно. - person Nick; 22.07.2019