我们都知道,将 target="_blank"
属性设置为单个链接将在新选项卡中打开它。
在一个真实的用例中,你希望在一个新选项卡中打开页面上的所有链接,这是很少见的。一个只收集外部资源链接的网站可能就是一个例子。
在这种情况下,你只需将其设置为 base
标签,而不是将属性添加到所有链接:
<head>
<base target="_blank" />
...
</head>
<body>
<a href="https://www.baidu.com">百度一下,你就知道</a>
</body>
注意,就像我们说的那样,链接会在新窗口中打开,即使链接中没有 target="_blank"
属性。这是因为 base
元素的 target
属性已经被设置为 _blank
了。
你还可以为所有 a
标签上 href
属性为空的链接添加一个 URL 指向:
<head>
<base href="https://www.baidu.com" />
<base target="_blank" />
...
</head>
<body>
<a href="https://www.baidu.com">百度一下,你就知道</a>
</body>
当然,你也可以使用 JavaScript 来设置所有链接的 target
属性为 _blank
。例如:
const links = document.getElementsByTagName('a');
for (let i = 0; i < links.length; i++) {
links[i].target = '_blank'
}
但显然,如果需要使网站的所有链接都在新标签页中打开,base
标签是最方便的选择。