现在我有一个链接
<a href="blabla" target="_blank">link</a>
但是,这总是会打开一个新标签。我想要以下效果
- 如果用户已经有一个具有相同 URL 的选项卡,请重复使用该选项卡,并尽可能刷新
- 否则,打开一个新标签
如何使用 JavaScript 实现这一点?
如果只有一些特定于浏览器的方法也没关系,因此没有相应支持的浏览器的用户将“回退”到always-new-tab方式。
现在我有一个链接
<a href="blabla" target="_blank">link</a>
但是,这总是会打开一个新标签。我想要以下效果
如何使用 JavaScript 实现这一点?
如果只有一些特定于浏览器的方法也没关系,因此没有相应支持的浏览器的用户将“回退”到always-new-tab方式。
您可以设置特定窗口的名称,以便打开重用选项卡。问题是,只要 href 相同,它就不会被重新加载。所以你不能轻易获得refresh
零件。
因此,例如,您可以拥有:
<a href="blabla" target="blabla">link</a>
<a href="foo" target="bar">link</a>
在 JS 中,您实际上可以使用window.open
. 您也可以使用 url as target
,这样您就不需要手动指定:
<a href="blabla" onclick="window.open(this.href, this.href); return false">link</a>
<a href="foo" onclick="window.open(this.href, this.href); return false">link</a>
您也可以概括,并在文档中添加一个点击侦听器,以便以这种方式打开一些链接。就像是:
<div id="container">
<a href="blabla">link</a>
<a href="foo">link</a>
</div>
<script>
document.getElementById("container").onclick = function(evt){
if (evt.target.tagName === "A")
window.open(evt.target.href, evt.target.href);
return false;
}
</script>
如果页面在同一个域上,此时您可能也尝试对页面进行经验刷新。