如果它已经在浏览器中打开,如何打开同一个选项卡的 url

Posted

技术标签:

【中文标题】如果它已经在浏览器中打开,如何打开同一个选项卡的 url【英文标题】:How to open url to the same tab if its already open in browser 【发布时间】:2016-08-12 03:04:38 【问题描述】:

我面临一些挑战- 让我们考虑一下我有一个菜单,下面有 3 个链接-

About
Contact Us
FAQs

默认主页是关于菜单项。 现在,当我点击“联系我们”时,我想在同一个浏览器窗口中打开一个新标签。如果我再次点击第一个标签this time I do not want to open new tab because I have already an open tab for Contact us 中的“联系我们”,而无需关闭它,我只想导航到之前打开的同一个标签。 在jsp中如何处理这种情况。

有没有办法做到这一点。请帮帮我。

【问题讨论】:

【参考方案1】:

您总是可以在目标中输入一个名称,这样它就会始终转到同一个窗口/选项卡

<a href="somerandomurl.com" target="mywindow">Contact Us<\a>

在 Internet Explorer 上无法控制。 但是,您可以更改 IE 的行为方式: -互联网选项 -标签 - 始终在新标签页中打开弹出窗口 - 从其他程序中打开链接:当前窗口中的新选项卡

target="_blank" 将始终确保它在新窗口中打开 http://www.w3schools.com/tags/att_a_target.asp

但它会使用相同的 url 刷新页面

您可以让链接返回一个 javascript 窗口对象,并且可以随时返回到窗口而无需刷新页面

var newtab = null;

function openwindow()
  if (newtab==null) 
    newtab = window.open("www.example.com");
   else 
    newtab.focus();
  

&lt;a onclick="openwindow()"&gt;click me&lt;/a&gt;

【讨论】:

感谢 Enfantcool 的快速帮助。我尝试了同样的方法并且工作正常。但在 IE 中,它打开的是新窗口而不是新标签。运气好吗? 在 Internet Explorer 上无法控制。但是,您可以更改 IE 的行为方式: -Internet 选项 -选项卡 -始终在新选项卡中打开弹出窗口 -在以下位置打开其他程序的链接:当前窗口中的新选项卡【参考方案2】:

如果有人也刷新父页面,此解决方案将起作用,如果该标签已在父页面刷新时打开,它将关闭子标签。 Javascript:

<script>
        var newtab = null;
        window.open('', 'business-list', '').close();
        function openwindow() 
            if (!newtab || newtab.closed) 
                newtab = window.open("/admin/business-list.aspx","business-list");
             else 
                newtab.focus();
            

        
    </script>

html

<a onclick="openwindow()" style="cursor:pointer">Business List</a>

【讨论】:

以上是关于如果它已经在浏览器中打开,如何打开同一个选项卡的 url的主要内容,如果未能解决你的问题,请参考以下文章

打开多个选项卡的自动注销

如何显示足够智能以处理多个打开的浏览器或选项卡的会话超时警告

javascript如何实现浏览器选项卡的切换?

每个浏览器选项卡的 MVC 持久模型

如何打开专注于服务选项卡的Apple Maps? (网址方案)

在 vue.js 小部件中打开多个选项卡时找出活动选项卡的方法