Как заставить HTML открывать гиперссылку в другом окне или вкладке?

93

Это строка гиперссылки в HTML:

<a href="http://www.starfall.com/">Starfall</a>

Таким образом, если я нажму на «Звездопад», мой браузер - я использую FireFox - перенесет меня на эту новую страницу, и содержимое моего окна изменится. Интересно, как это сделать в HTML, чтобы новая страница открывалась в новом окне вместо изменения предыдущей? Есть ли такой способ в HTML?

И если да, можно ли открыть запрошенную страницу на другой вкладке (не в другом окне) моего браузера?

блестящий
источник

Ответы:

137
<a href="http://www.starfall.com/" target="_blank">Starfall</a>

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

Фрэнк
источник
6
Не все браузеры поддерживают вкладки, и в тех из них, открытие страниц в новой вкладке по сравнению с новым окном является параметром, настраиваемым пользователем. В настоящее время не существует способа указать ссылку, которая должна открываться во вкладке или в окне.
bta
2
помните, что целевой атрибут должен быть объявлен ПОСЛЕ атрибута href
MC
109

Самый простой способ - добавить целевой тег.

<a href="http://www.starfall.com/" target="Starfall">Starfall</a>

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

Под ключ
источник
47
+1 за указание на то, что цель не обязательно должна быть _blank.
GSto
4
Стоит отметить, что это действующий HTML5.
AeroCross
Что вы имеете в виду под словом "имя"?
Vnge
9

использовать target="_blank"

<a target='_blank' href="http://www.starfall.com/">Starfall</a>

jldupont
источник
8

Вы сможете добавить

target="_blank"

подобно

<a href="http://www.starfall.com/" target="_blank">Starfall</a>
Джейсон
источник
7

targetАтрибут является лучшим способом сделать это.

<a href="http://www.starfall.com" target="_blank">

откроет его в новой вкладке или в новом окне. Что касается того, что зависит от настроек пользователя.

<a href="http://www.starfall.com" target="_self">

по умолчанию. Он открывает страницу на той же вкладке (или iframe, если вы имеете дело с этим).
Следующие два хороши, только если вы имеете дело с iframe.

<a href="http://www.starfall.com" target="_parent">

откроет ссылку в iframe, в котором был iframe, в котором была ссылка.

<a href="http://www.starfall.com" target="_top">

откроет ссылку на вкладке независимо от того, через сколько фреймов она должна пройти.

hellol11
источник
как использовать этот цветной текст во всех примерах?
hellol11 09
6

target = _blank будет открываться в новой вкладке или окнах в зависимости от настроек браузера.

Чтобы принудительно открыть новое окно, используйте javascript onclick, все три части необходимы. URL-адрес, имя, ширина и высота окна, иначе он просто откроется в новой вкладке.

<a onclick="window.open('http://www.starfall.com/','name','width=600,height=400')">Starfall</a>
Эндиман
источник
4

Вы также можете сделать это, добавив в заголовок своей страницы следующее:

<base target="_blank">

Это сделает ВСЕ ссылки на вашей странице открытыми в новой вкладке.

Патрик
источник
4

Поскольку Интернет быстро развивается, некоторые вещи со временем меняются. По вопросам безопасности вы можете использовать этот rel="noopener"атрибут вместе с вашим target="_blank".

Как указано в документации Google Dev , другая страница может получить доступ к вашему объекту окна с расширением window.opener property. Теперь ваша внешняя ссылка должна выглядеть так:

<a href="http://www.starfall.com/" target="_blank" rel="noopener">Starfall</a>
JoeMecPak
источник
<a href="http://www.starfall.com/" target="_blank" rel="noopener noreferrer">Starfall</a>в наши дни лучше всего иметь и то, и другое
ContextCue,
1

ниже пример с target="_blank"работами для Safari и Mozilla

<a href="http://www.starfall.com" `target="_blank"`>

Использование target="new"сработало для Chrome

<a href="http://www.starfall.com" `target="new"`>
Скоттму
источник
2
что отличает ваш ответ от десятка других?
Farside