Javascript 关闭当前选项卡

Javascript 关闭当前选项卡,javascript,html,cross-browser,Javascript,Html,Cross Browser,我的网页上有一个紧密的链接。我想在单击它时使用它关闭当前选项卡。我写过 <a href="#" onclick = "javascript:self.close();">close</a> 上面的代码在InternetExplorer中似乎运行良好。但它在Mozilla Firefox和Google Chrome中不起作用。请帮助我解决此问题。您只能关闭自己创建的窗口/选项卡。也就是说,不能以编程方式关闭用户创建的窗口/选项卡 例如,如果使用window.open(

我的网页上有一个紧密的链接。我想在单击它时使用它关闭当前选项卡。我写过

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


上面的代码在InternetExplorer中似乎运行良好。但它在Mozilla Firefox和Google Chrome中不起作用。请帮助我解决此问题。

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

例如,如果使用
window.open()
创建窗口,则可以使用
window.close()

关闭该窗口:

window.open('', '_self');
这只适用于铬;这是一只虫子。 它将在将来得到修复,因此使用此黑客解决方案时要牢记这一点。

尝试以下方法:

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

从Chrome 46开始,一个简单的
onclick=window.close()
就可以实现这一点。如果打开了多个选项卡,则仅关闭选项卡,而不是整个浏览器。

尝试以下操作:

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

var myWindow=window.open(“ANYURL”、“MyWindowName”、“宽度=700,高度=700”);
this.window.close();

这在谷歌Chrome50的某些情况下对我有效。但是,如果将它放入javascript函数中,它似乎不起作用。

您可以使用下面的javascript

window.open('','_self').close();
在HTML中,您可以使用以下代码

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

从以下位置找到一个在Chrome 66中工作的单衬里:

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

为了完整性

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


但也要注意的是,读者可能希望将其放入一个函数中,以确定哪些浏览器需要这种技巧,因为Firefox 59不适用于上述功能。

use window.close()当选项卡上已经有关闭按钮时,为什么需要这个按钮?@gurvinder372-谢谢你的帮助,但它不起作用。谢谢你的回答。可能是它为什么在Internet Explorer中工作?不确定,但IE有时有自己的方式。@ustasb我如何才能执行window.open()操作,以便以后可以关闭它?。我真的不明白我应该把window.open放在哪里,我已经把那行代码放在我的头部分的脚本标签里面,它只是打开了另一个标签,这很有意义,但我不想关闭新窗口,我想关闭当前窗口。有什么建议吗?Chrome版本49.0.2623.112 m不工作。在Chrome 60.0.3112.50中工作,这是因为
在本上下文中指的是
窗口
,在函数上下文中指的是函数
this.window
只是
window
。糟糕,它似乎在Linux上通过Chrome
76
正常运行,而且通过控制台测试@鲁宾:你是偶然在基于Mac或MS的操作系统上使用的吗?也许我做错了什么(试图在谷歌应用程序脚本web应用程序上使用这个),或者可能是一个无法依赖黑客的人,可能有一天会被修补。。。从我在其他地方读到的内容来看,JavaScript不应该被允许关闭未生成的选项卡。。。虽然在解决方案中,可能允许关闭插件作用域中的任何选项卡,但是,如果只针对一个域/应用,这将是过度的,因为允许插件有更多的权限。。。我还没有完全深入研究web应用程序或浏览器插件,所以这更多的是猜测而不是经验,直到我真正深入研究为止。@RAS,感谢您提供完整的版本号!奇怪的是,它不适用于
80.0.3987.163
,因为对于
81.0.4044.92
(更高版本),第一个JavaScript咒语仍然有效。你是不是碰巧尝试了HTML变体?