如何在 HTML 中的新选项卡中打开链接?

问题描述 投票:0回答:12

我正在开发一个 HTML 项目,我不知道如何在没有 JavaScript 的情况下在新选项卡中打开链接。

我已经知道

<a href="http://www.WEBSITE_NAME.com"></a>
会在同一选项卡中打开链接。有什么想法如何让它在新的中打开吗?

html hyperlink anchor browser-tab
12个回答
987
投票

将链接的

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"
是为了防止新打开的标签能够恶意修改原来的标签。有关此漏洞的更多信息,请阅读以下文章:


136
投票

根据您的要求使用其中之一。

在新窗口或选项卡中打开链接文档:

 <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>

参见MDN


51
投票

如果您想为整个站点执行一次命令,而不是在每个链接后都执行该命令。试试这个地方 在您的网站和宾果游戏的标题中。

<head>
<title>your text</title>
<base target="_blank" rel="noopener noreferrer">
</head>

希望这有帮助


19
投票

使用

target="_blank"

<a href="http://www.example.com/" target="_blank" rel="noopener noreferrer">This will open in a new window!</a>

12
投票

何时使用

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";

8
投票

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>

6
投票

您可以使用

target
属性在新选项卡中打开链接:

<a href="https://google.com" target="_blank">Google Link</a>

<a href="https://google.com" target="blank">Google Link</a>

差异

_blank 将始终在新选项卡中打开链接。

空白将在第一次打开时在新选项卡中打开链接,但所有后续打开都将重用/更新现有选项卡。


5
投票

您可以使用:

<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


4
投票

你可以这样做:

<a href="http://www.WEBSITE_NAME.com" target="_blank" rel="noopener noreferrer">Open</a>

原来是:

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

另请查看 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/


1
投票

在新选项卡中打开链接的简单方法是在链接中添加一个值等于“_blanl”的目标属性,如下所示:

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


1
投票

如果有人正在寻找使用它来应用反应,那么您可以遵循下面给出的代码模式。您必须添加额外的相关属性。

<a href="mysite.com" target="_blank" rel="noopener noreferrer" >Click me to open in new Window</a>

1
投票

对于 React,如果有人想在新选项卡中打开链接。请使用react-router-dom,因为

<a href="/path"></a>
会刷新整个页面,即使您的页面仅更改新路由上的一些文本或图像。 链接使用请参考这里

© www.soinside.com 2019 - 2024. All rights reserved.