2013-01-17 138 views
28

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

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

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

+2

使用window.close()的 http://stackoverflow.com/questions/2076299/how-to-close-current-tab-in-a-browser-window – gurvinder372

+1

为什么你需要这当标签页上已经有关闭按钮? – Eevee

+0

@ gurvinder372 - 感谢您的帮助,但不起作用。 – uvinod

回答

30

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

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

+0

感谢您的回答。可能为什么它在Internet Explorer中工作? – uvinod

+3

不确定,但IE有时会有自己的方法。 –

+0

@ustasb我怎么做window.open()有可能以后关闭它?我真的不明白我应该把window.open放在哪里,我把这段代码放在脚本标签的头部,它只是打开另一个标签,这很有意义,但我不想关闭新窗口打开,我想关闭当前窗口。有什么建议? – RicardoGonzales

-2

使用此:

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

铬这只作品;这是一个错误。 它将在未来得到修复,因此请牢记这一点,使用这个hacky解决方案。

+0

无法正常工作,铬44。 – shinzou

+0

在版本50.0.2661.102中无效m –

-2

试试这个:

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

不适用于铬44。 – shinzou

+1

适用于Chrome 45.0.2454.101 – naoko

+0

Chrome版本49.0.2623.112 m 不工作。 –

5

自Chrome 46,简单的onclick=window.close()的伎俩。这只会关闭标签页,而不是整个浏览器,如果打开多个标签页。

-1

试试这个:

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

这在某些情况下,谷歌浏览器50.这似乎不是一个javascript函数里面放的时候工作,但为我工作。

+1

这是因为'this'在这个上下文中是指'window',并且是指函数上下文中的函数; 'this.window'只是'window'。 – Carpetsmoker

1

您可以使用下面的JavaScript。

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

在HTML您可以使用下面的代码

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

我已经在Chrome 61尝试这样做,IE11它是工作的罚款。 但这不适用于Firefox 57. 在Firefox中,我们只能关闭使用以下命令打开的窗口。

window.open()