关闭当前选项卡

时间:2013-01-17 06:52:38

标签: javascript html cross-browser

我的网页上有一个关闭链接。我想用它来点击它时关闭当前标签。我写了

<a href="#" onclick = "javascript:self.close();">close</a>

以上代码似乎在Internet Explorer中运行良好。但它不适用于Mozilla Firefox和Google Chrome。请帮我解决这个问题。

7 个答案:

答案 0 :(得分:32)

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

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

答案 1 :(得分:5)

从Chrome 46开始,一个简单的onclick=window.close()可以解决问题。如果打开多个选项卡,则仅关闭选项卡,而不关闭整个浏览器。

答案 2 :(得分:1)

您可以使用以下JavaScript。

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

在HTML中,您可以使用以下代码

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

我在Chrome 61和IE11中尝试过这种方法,但它运行正常。 但这不适用于Firefox 57。 在Firefox中,我们只能关闭,使用以下命令打开的窗口。

window.open()

答案 3 :(得分:0)

在Chrome 66中找到了一个可以运行的单行程:http://www.yournewdesigner.com/css-experiments/javascript-window-close-firefox.html

  

TLDR:诱使浏览器相信JavaScirpt打开了当前标签/窗口

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

为了完整性

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

虽然还要注意读者可能希望将其放入指纹浏览器需要这种技巧的功能中,因为Firefox 59不能与上述功能一起使用。

答案 4 :(得分:-1)

使用此:

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

这仅适用于chrome;这是一个错误。 它将在未来修复,因此请牢记这个hacky解决方案。

答案 5 :(得分:-1)

试试这个:

<script>
    var myWindow = window.open("ANYURL", "MyWindowName", "width=700,height=700");
    this.window.close();
</script>

这在某些情况下适用于Google Chrome 50.但是当放入javascript函数时似乎无效。

答案 6 :(得分:-2)

试试这个:

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