34

我的网页上有一个关闭链接。单击它时,我想使用它来关闭当前选项卡。我已经写了

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

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

4

7 回答 7

43

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

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

于 2013-01-17T06:56:59.727 回答
5

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

于 2015-11-16T02:47:33.500 回答
5

您可以使用以下 JavaScript。

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

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

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

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

window.open()
于 2017-10-24T10:54:15.713 回答
2

从http://www.yournewdesigner.com/css-experiments/javascript-window-close-firefox.html找到了适用于 Chrome 66 的单线器

TLDR:诱使浏览器相信 JavaScirpt 打开了当前选项卡/窗口

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

所以为了完整性

<input type="button" name="close" value="close" onclick="window.close();">

尽管还需要注意的是,读者可能希望将其放入一个功能中,以识别哪些浏览器需要这种技巧,因为 Firefox 59 不适用于上述功能。

于 2018-03-27T01:39:20.607 回答
-1

试试这个:

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

在某些情况下,这在 Google Chrome 50 中对我有用。不过,当放在 javascript 函数中时,它似乎不起作用。

于 2016-09-03T13:45:00.477 回答
-2

用这个:

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

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

于 2014-05-11T16:12:33.490 回答
-2

试试这个:

window.open('', '_self').close();
于 2015-07-01T13:50:38.997 回答