我正在开发一个 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"
是为了防止新打开的标签能够恶意修改原来的标签。有关此漏洞的更多信息,请阅读以下文章:
根据您的要求使用其中之一。
在新窗口或选项卡中打开链接文档:
<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>
如果您想为整个站点执行一次命令,而不是在每个链接后都执行该命令。试试这个地方 在您的网站和宾果游戏的标题中。
<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>
您可以使用
target
属性在新选项卡中打开链接:
<a href="https://google.com" target="_blank">Google Link</a>
或
<a href="https://google.com" target="blank">Google Link</a>
差异
_blank 将始终在新选项卡中打开链接。
空白将在第一次打开时在新选项卡中打开链接,但所有后续打开都将重用/更新现有选项卡。
您可以使用:
<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="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/
在新选项卡中打开链接的简单方法是在链接中添加一个值等于“_blanl”的目标属性,如下所示:
<a href="http://www.WEBSITE_NAME.com" target="_blank"></a>
如果有人正在寻找使用它来应用反应,那么您可以遵循下面给出的代码模式。您必须添加额外的相关属性。
<a href="mysite.com" target="_blank" rel="noopener noreferrer" >Click me to open in new Window</a>
对于 React,如果有人想在新选项卡中打开链接。请使用react-router-dom,因为
<a href="/path"></a>
会刷新整个页面,即使您的页面仅更改新路由上的一些文本或图像。
链接使用请参考这里