Я работаю над проектом HTML, и я не могу узнать, как открыть ссылку на новой вкладке без JavaScript.
Я уже знаю, что <a href="http://www.WEBSITE_NAME.com"></a>
открывает ссылку в той же вкладке. Любые идеи, как сделать его открытым в новом?
Я работаю над проектом HTML, и я не могу узнать, как открыть ссылку на новой вкладке без JavaScript.
Я уже знаю, что <a href="http://www.WEBSITE_NAME.com"></a>
открывает ссылку в той же вкладке. Любые идеи, как сделать его открытым в новом?
Ответы:
Установите атрибут target для ссылки _blank
:
<a href="#" target="_blank" rel="noopener noreferrer">Link</a>
Изменить: другие примеры см. Здесь: http://www.w3schools.com/tags/att_a_target.asp
(Примечание: я ранее предлагал blank
вместо того, чтобы, _blank
потому что, если он используется, он откроет новую вкладку, а затем использует ту же вкладку, если ссылка будет нажата снова. Однако это только потому, что, как указал GolezTrol, он ссылается на имя a фрейма / окна, которое будет установлено и использовано при повторном нажатии ссылки, чтобы открыть ее на той же вкладке).
Рассмотрение безопасности!
Это rel="noopener noreferrer"
сделано для того, чтобы вновь открытая вкладка не могла злонамеренно изменить исходную вкладку. Для получения дополнительной информации об этой уязвимости см. Эти ресурсы:
blank
будет имя кадра или окна. Может показаться, что это работает, потому что новое окно или вкладка, вероятно, будут открыты, когда ни одного из них не существует с именем «пусто», но второй щелчок по ссылке должен снова открыть страницу в той же вкладке, а не открывать еще одну.
blank
вы могли с таким же успехом использовать foo
, хотя на _blank
самом деле имеет особое значение. Я не могу найти информацию, чтобы доказать обратное. Ты можешь?
_blank
все будет хорошо; ссылки будут открываться на отдельной вкладке. Если вы укажете имя без подчеркивания (например, blank
ссылки будут открыты на той же вкладке).
Используйте один из них в соответствии с вашими требованиями.
Откройте связанный документ в новом окне или вкладке:
<a href="xyz.html" target="_blank"> Link </a>
Откройте связанный документ в том же фрейме, в котором он был нажат (по умолчанию):
<a href="xyz.html" target="_self"> Link </a>
Откройте связанный документ в родительском фрейме:
<a href="xyz.html" target="_parent"> Link </a>
Откройте связанный документ в полном теле окна:
<a href="xyz.html" target="_top"> Link </a>
Откройте связанный документ в именованном фрейме:
<a href="xyz.html" target="framename"> Link </a>
target="_blank"
имеет уязвимость, вы можете прочитать об этом в mathiasbynens.github.io/rel-noopener
Если вы хотите выполнить команду один раз для всего сайта, а не делать это после каждой ссылки. Попробуйте это место в главе вашего веб-сайта и бинго.
<head>
<title>your text</title>
<base target="_blank" rel="noopener noreferrer">
</head>
надеюсь это поможет
Используйте target="_blank"
:
<a href="http://www.example.com/" target="_blank" rel="noopener noreferrer">This will open in a new window!</a>
Когда использовать target='_blank'
:
HTML-версия (некоторые устройства не поддерживают ее):
<a href="http://chriscoyier.net" target="_blank">This link will open in new window/tab</a>
Версия JavaScript для всех устройств:
Использование rel = "external" совершенно правильно
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript">
$('a[rel="external"]').attr('target', '_blank');
</script>
и для Jquery можно попробовать с нижеприведенным:
$("#content a[href^='http://']").attr("target","_blank");
Если настройки браузера не позволяют открываться в новых окнах:
href = "google.com";
onclick="window.open (this.href, ''); return false";
target="_blank"
Атрибут сделает работу. Только не забудьте добавить, rel="noopener noreferrer"
чтобы решить потенциальную уязвимость. Подробнее об этом здесь: https://dev.to/ben/the-targetblank-vulnerability-by-example
<a href="https://www.google.com/" target="_blank" rel="noopener noreferrer">Searcher</a>
Ты можешь использовать:
<a href="http://www.WEBSITE_NAME.com" target="_blank"> Website</a>
Однако вышеперечисленное делает ваш сайт уязвимым для фишинговых атак. Вы можете предотвратить это в некоторых браузерах, добавив rel = "noopener noreferrer" к вашей ссылке. С этим добавленным, приведенный выше пример становится:
<a href="http://www.WEBSITE_NAME.com" rel="noopener noreferrer" target="_blank">Website.com</a>
проверьте для получения дополнительной информации: https://www.thesitewizard.com/html-tutorial/open-links-in-new-window-or-tab.shtml
Вы можете сделать это так:
<a href="https://duckduckgo.com/" target="_blank" rel="noopener noreferrer">Open Duck</a>
Также посмотрите следующий URL на MDN для получения дополнительной информации о безопасности и конфиденциальности:
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#Security_and_privacy
который в свою очередь имеет ссылку на хорошую статью с именем Target = "_ blank" - самой недооцененной уязвимостью за всю историю :
https://www.jitbit.com/alexblog/256-targetblank---the-most-underestimated-vulnerability-ever/
<a href="url" target="_blank">...</a>