📅  最后修改于: 2023-12-03 15:27:43.333000             🧑  作者: Mango
在HTML中,我们可以使用 a
标签来创建链接,但通常情况下,这些链接会直接在当前页面打开,导致用户离开当前页面。为了避免这种情况,我们可以使用 JavaScript 来实现自动在新标签页或新窗口中打开链接。
target="_blank"
属性使用 target="_blank"
属性可以在新标签页或新窗口中打开链接。代码如下:
<a href="http://example.com" target="_blank">Example</a>
使用 JavaScript 动态添加链接时也可以添加该属性:
const link = document.createElement("a");
link.setAttribute("href", "http://example.com");
link.setAttribute("target", "_blank");
link.textContent = "Example";
document.body.appendChild(link);
使用 JavaScript 的 window.open()
方法可以在新窗口中打开链接。代码如下:
const url = "http://example.com";
window.open(url);
可以使用第二个参数指定窗口打开的方式,例如在新标签页中打开:
window.open(url, "_blank");
也可以使用第三个参数指定窗口的属性,例如设置宽高:
window.open(url, "_blank", "width=800,height=600");
当页面中有很多链接时,为每个链接设置 target="_blank"
或使用 window.open()
方法会显得非常麻烦。可以使用事件委托的方式,在父元素上设置事件监听器,在点击链接时获取链接地址并打开链接。代码如下:
const links = document.querySelector(".links");
links.addEventListener("click", function (event) {
if (event.target.tagName === "A") {
event.preventDefault();
const url = event.target.getAttribute("href");
window.open(url);
}
});
使用自动新标签链接的方式需要注意以下几点: