gpt4 book ai didi

javascript - 在新选项卡中打开 url 或尽可能重复使用现有的 url

转载 作者:技术小花猫 更新时间:2023-10-29 12:01:41 26 4
gpt4 key购买 nike

现在我有一个链接

<a href="blabla" target="_blank">link</a>

但是,这总是会打开一个新选项卡。我想要下面的效果

  1. 如果用户已有一个具有相同 URL 的选项卡,请重复使用该选项卡,并在可能的情况下刷新
  2. 否则,打开一个新标签

如何使用 JavaScript 实现此目的?

如果只有一些特定于浏览器的方法也没关系,因此没有相应支持的浏览器的用户将“回退”到始终显示新标签的方式。

最佳答案

您可以设置特定窗口的名称,以便打开重复使用的选项卡。问题是,只要 href 相同,就不会重新加载。所以你无法轻易获得refresh部分。

因此,例如,您可以:

<a href="blabla" target="blabla">link</a>
<a href="foo" target="bar">link</a>

在 JS 中,您实际上可以使用 window.open 获得相同的内容。你也可以使用 url 作为 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>

如果页面位于同一个域中,此时您可能还可以尝试对页面进行经验性刷新。

关于javascript - 在新选项卡中打开 url 或尽可能重复使用现有的 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13779508/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com