我一直在寻找这个问题,找不到任何可以解决这个问题的东西。我发现了很多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。解决方案是什么?
答案 0 :(得分:0)
最好在函数内编写代码并在每个按钮中调用该函数
尝试为每个创建窗口传递true window.open('','_parent','', true);
答案 1 :(得分:0)
我终于成功了。问题在于,所有答案都是正确的,以及我的试验。所有这些都有效。但是在Firefox中,必须使dom.allow_scripts_to_close_windows
为真(请查看here)才能使window.close()
生效。但这只能由用户自己完成。另一个问题是,如果想要通过脚本关闭,则必须通过脚本打开窗口。因此,我将改变我的结构,以便通过脚本打开此特定页面。