Javascript 如何关闭浏览器选项卡

Javascript 如何关闭浏览器选项卡,javascript,jquery,Javascript,Jquery,我无法使用javascript关闭当前浏览器选项卡 我试过- window.close(); //1 window.open("", '_self');//2 setTimeout(function(){ window.close(); },100); window.open('','_parent',''); //3 window.close(); window.top.opener=null; //4 wi

我无法使用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方法的脚本打开的窗口调用close方法。

据我所知,您无法使用Javascript关闭浏览器选项卡。这不是一个常见的方法做

我不确定你是否能做到这一点,因为有些浏览器根本没有任何选项卡

但是试试这个,也许对你有用:

window.top.close();
参考:

或:

<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);

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

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


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

<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>

看到我的原始答案了吗

你能详细解释一下吗。。。因为window.close()在所有情况下都能工作。我不会打赌javascript总是能够关闭选项卡,因为它很可能链接到浏览器安全设置。这就是我在第二种方法中尝试做的。我用javascript打开它,然后关闭它。你在哪里使用它?检查你的触发器是否正常。。。要求javascript发出
警报
或使用
控制台。例如,在您想使用此功能的地方记录
。我想关闭同一个窗口。在我的代码中,我试图打开同一个窗口,然后用javascript关闭。我不想在单击时关闭选项卡。它应该在没有用户交互的情况下发生。
<a href="javascript:closeWindow();">close</a>
setTimeout(
  function() 
  {
    //do something special
   //window.stop(); 
  }, 5000);
window.open('', '_self', '').close();