现在我有一个链接
<a href="blabla" target="_blank">link</a>
但是,这总是打开一个新选项卡。我想要以下效果
如何使用JavaScript做到这一点?
如果只有一些特定于浏览器的方法可以,所以没有相应支持的浏览器用户将“退回”到“总是使用新标签”方式。
您可以设置特定窗口的名称,以打开重复使用的选项卡。问题是,只要href相同,就不会重新加载。因此,您无法refresh轻松获得零件。
refresh
因此,例如,您可以拥有:
<a href="blabla" target="blabla">link</a> <a href="foo" target="bar">link</a>
在JS中,您实际上可以使用获得相同的内容window.open。您还可以将url用作target,这样就无需手动指定:
window.open
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>
您也可以将其通用化,并在文档中添加一个Click侦听器,以这种方式打开一些链接。就像是:
<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>
如果页面在同一域中,那么此时您可能还尝试对页面进行经验式刷新。