Javascript 关闭其他选项卡或浏览器的脚本

Javascript 关闭其他选项卡或浏览器的脚本,javascript,Javascript,在为销售开发的MVC应用程序中,我有一个按钮,可以打开一个不允许iframe在新选项卡中打开的网页。因此,当销售代理使用此按钮时,他们通常不会关闭应用程序打开的选项卡,最终会有20-30个打开的选项卡。所以,我想知道是否有一个脚本,我可以添加到一个新的按钮,可以关闭: 或者是包含所有选项卡的完整浏览器,以便它们可以重新启动,或者 关闭所有其他选项卡,而不影响当前选项卡 在我看来,我有 HTML 我正在玩这个脚本,但它只关闭当前选项卡。我希望当前选项卡处于打开状态,并关闭所有其他选项卡或关闭整个浏

在为销售开发的MVC应用程序中,我有一个按钮,可以打开一个不允许iframe在新选项卡中打开的网页。因此,当销售代理使用此按钮时,他们通常不会关闭应用程序打开的选项卡,最终会有20-30个打开的选项卡。所以,我想知道是否有一个脚本,我可以添加到一个新的按钮,可以关闭:

  • 或者是包含所有选项卡的完整浏览器,以便它们可以重新启动,或者
  • 关闭所有其他选项卡,而不影响当前选项卡
  • 在我看来,我有

    HTML 我正在玩这个脚本,但它只关闭当前选项卡。我希望当前选项卡处于打开状态,并关闭所有其他选项卡或关闭整个浏览器本身

    Javascript
    
    函数closeIt(){
    close();
    }
    
    HTML
    
    
    任何建议都将不胜感激。
    谢谢你

    只有在有把手的情况下,你才能关闭窗户。这意味着您的页面必须是打开它们的页面(或者您以某种方式传递了句柄)

    例如:

    var winGoogle = window.open('http://google.com', '_blank');
    var winBing = window.open('http://bing.com', '_blank');
    var winYahoo = window.open('http://yahoo.com', '_blank');
    
    //close the windows
    winGoogle.close();
    winBing.close();
    winYahoo.close();
    
    您可以将这些新窗口存储在一个数组中,并在关闭它们时迭代句柄

    var windows = [];
    //each time you open a new window, simply add it like this:
    windows.push(window.open('http://google.com', '_blank'));
    
    //then you can iterate over them and close them all like this:
    for(var i = 0; i < windows.length; i++){
        windows[i].close()
    }
    
    var-windows=[];
    //每次打开新窗口时,只需按如下方式添加:
    windows.push(window.open)http://google.com","空白"),;
    //然后,您可以迭代并关闭它们,如下所示:
    对于(变量i=0;i
    HTML:

    <a href="javascript: window.open('', '_self', '').close();">Close Tab</a>
    

    它将在不提示许可的情况下关闭当前选项卡。

    基于Mohamed Musthaque的优秀答案。。。我想打开一个新选项卡并关闭当前选项卡。这是完美的铬


    您的
    OpenInNewTab()
    函数的源代码?通过保存
    window.open()
    @StephenP的返回值,您可以跟踪打开的窗口(选项卡),感谢您指出这一点。我已经更新了它。另一个要考虑的是使用窗口名称而不是<代码>空白> <代码>,例如:代码> var Win=Window。打开(URL,“工作选项卡”);<代码>-这样它就可以重复使用同一个选项卡,而不是每次打开一个新选项卡。如果销售机器人实际上需要同时打开多个选项卡,则这可能是不可接受的。最后一个技巧-了解如何从单独的
    .js
    文件附加事件处理程序,而不是使用内联
    onclick=…
    处理程序。这取决于打开按钮的位置?每一页?或者只是根页面?是的。push()和iterate正是我在评论时所想的<代码>+1
    不过,它正在执行函数,但没有关闭任何内容。让我再试一次。同时,有人知道我们是否可以将Ctrl+F4组合复制到一个按钮,使其可以关闭吗?不确定,如果有人已经试过了?我想试试这样的东西。如果(evt.altKey&&evt.keyCode==115),则condition@user2908229不知道为什么它对你不起作用。你能不能告诉你的用户他们可以右键点击一个标签,然后说“关闭其他标签”或“关闭右边的标签”?你能像Stephen P建议的那样,每次都覆盖同一个选项卡吗?我会对此稍作调整,以跟踪所有打开的窗口,方法是推到最父窗口集合。。。您可以尝试查找window.top.windows,而不是windows.push,并保持循环,直到没有顶部窗口,然后将其添加到集合中。现在“关闭”按钮还应该尝试查找最父窗口集合,诀窍是,在触发事件时退出窗口…最新的chrome将给您一个无声的处理。
    <center>
        <form>
            <input type=button value="Close Window" onClick="closeIt()">
        </form>
    </center>
    
    var winGoogle = window.open('http://google.com', '_blank');
    var winBing = window.open('http://bing.com', '_blank');
    var winYahoo = window.open('http://yahoo.com', '_blank');
    
    //close the windows
    winGoogle.close();
    winBing.close();
    winYahoo.close();
    
    var windows = [];
    //each time you open a new window, simply add it like this:
    windows.push(window.open('http://google.com', '_blank'));
    
    //then you can iterate over them and close them all like this:
    for(var i = 0; i < windows.length; i++){
        windows[i].close()
    }
    
    <a href="javascript: window.open('', '_self', '').close();">Close Tab</a>
    
    window.open('', '_self', '').close();