繁体   English   中英

如何关闭浏览器标签

[英]How to close browser tab

我无法使用javascript关闭当前的浏览器标签。

我试过了-

    window.close(); //1

    window.open("", '_self');//2
    setTimeout(function(){
        window.close();
    },100);

    window.open('','_parent',''); //3
    window.close();

    window.top.opener=null; //4
    window.close();

chrome无法为我工作

仅允许使用window.open方法由脚本打开的窗口调用window.close方法。

window.open('', '_self', '').close();

在此线程上查看我的原始答案

据我所知,您无法使用Javascript关闭浏览器标签。 这不是常见的做法...

我不确定您是否可以执行此操作,因为某些浏览器根本没有任何标签...

但是尝试一下,也许对您有用:

window.top.close();

参考: stackoverflow中的另一个问题

要么 :

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

您只能关闭自己创建的窗口/选项卡。 也就是说,您不能以编程方式关闭用户创建的窗口/选项卡。

例如,如果使用window.open()创建一个窗口,则可以使用window.close()其关闭。

请尝试使用以下内容

window.top.close();

希望这会有所帮助!

如前所述,您只能关闭先前打开的窗口/选项卡。 您的代码段均不符合此要求。

如果要从父窗口关闭子窗口,则需要存储对其的引用,例如:

var child = window.open("");
setTimeout(function(){
    child.close();
},100);

演示版

如果要从自身关闭子窗口,则需要在窗口内运行代码。

如果用空白覆盖当前文档,则您的代码将消失。


现在,Chrome是一种特殊的野兽。 它以不同的过程打开每个选项卡。 这意味着涉及不同选项卡的几种良好的旧技术根本不起作用。 例如,您甚至不能使用window.open()中的target参数共享一个窗口。

<script src="~/Scripts/jquery-1.8.2.js"></script>
<script>
    var win;
    $(document).ready(function () {
        var url = 'this tab url';
        win = window.open(url, '_self');
        window.stop();                
    });
    function closeWindow() {
        win.close();
    }
</script>

然后在HTML

<a href="javascript:closeWindow();">close</a>

如果要加载多个象牙,请等待一段时间

setTimeout(
  function() 
  {
    //do something special
   //window.stop(); 
  }, 5000);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM