我的网页上有一个关闭链接。单击它时,我想使用它来关闭当前选项卡。我已经写了
<a href="#" onclick = "javascript:self.close();">close</a>
上面的代码似乎在 Internet Explorer 中运行良好。但它不适用于 Mozilla Firefox 和 Google Chrome。请帮我解决这个问题。
我的网页上有一个关闭链接。单击它时,我想使用它来关闭当前选项卡。我已经写了
<a href="#" onclick = "javascript:self.close();">close</a>
上面的代码似乎在 Internet Explorer 中运行良好。但它不适用于 Mozilla Firefox 和 Google Chrome。请帮我解决这个问题。
您只能关闭自己创建的窗口/选项卡。也就是说,您不能以编程方式关闭用户创建的窗口/选项卡。
例如,如果您创建一个窗口,window.open()
您可以使用 关闭它window.close()
。
从 Chrome 46 开始,一个简单onclick=window.close()
的方法就可以解决问题。如果打开了多个选项卡,这只会关闭选项卡,而不是整个浏览器。
您可以使用以下 JavaScript。
window.open('','_self').close();
在 HTML 中,您可以使用以下代码
<a href="javascript:close_window();">close</a>
我已经在 Chrome 61 和 IE11 中尝试过它工作正常。但这不适用于 Firefox 57。在 Firefox 中,我们只能关闭使用以下命令打开的窗口。
window.open()
从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 不适用于上述功能。
试试这个:
<script>
var myWindow = window.open("ANYURL", "MyWindowName", "width=700,height=700");
this.window.close();
</script>
在某些情况下,这在 Google Chrome 50 中对我有用。不过,当放在 javascript 函数中时,它似乎不起作用。
用这个:
window.open('', '_self');
这仅适用于 chrome;这是一个错误。它将在将来修复,因此请记住这一点,使用这个 hacky 解决方案。
试试这个:
window.open('', '_self').close();