所有浏览器的Javascript window.close()?

时间:2013-04-05 11:37:43

标签: javascript html

我一直在寻找这个问题,找不到任何可以解决这个问题的东西。我发现了很多SO问题,但没有人可以帮助我。

基本上,问题与提出的问题没有区别,但我尝试了每一个答案。没有运气。

当用户点击按钮时,我想关闭浏览器的标签。我尝试了下面的内容:

1. <p class="submit"><input type="button" onclick="window.open(window.location, '_self');window.close(); return false;" value="{% trans 'Close' %}"/></p>

2. <p class="submit"><input type="button" onclick="window.open('','_parent',''); window.close(); return false;" value="{% trans 'Close' %}"/></p>

3. <p class="submit"><input type="button" onclick="var win = window.open('', '_self');win.close();return false; " value="{% trans 'Close' %}"/></p>

4. <p class="submit"><input type="button" onclick="window.open('', '_self', ''); window.close(); return false;" value="{% trans 'Close' %}"/></p>

以上都不适用于Firefox和Chrome。如果一个在Chrome中运行,那么它不适用于Firefox。解决方案是什么?

2 个答案:

答案 0 :(得分:0)

最好在函数内编写代码并在每个按钮中调用该函数

尝试为每个创建窗口传递true window.open('','_parent','', true);

答案 1 :(得分:0)

我终于成功了。问题在于,所有答案都是正确的,以及我的试验。所有这些都有效。但是在Firefox中,必须使dom.allow_scripts_to_close_windows为真(请查看here)才能使window.close()生效。但这只能由用户自己完成。另一个问题是,如果想要通过脚本关闭,则必须通过脚本打开窗口。因此,我将改变我的结构,以便通过脚本打开此特定页面。