为什么<script>window.opener='x';window.close();</script

Why does <script>window.opener='x';window.close();</script> not work in Firefox

本文关键字:window script close opener 为什么      更新时间:2023-09-26

我找到了这段代码,并一直在使用它来自动关闭窗口......它在Chrome中完美运行,

如何在火狐中做到这一点?或者有没有更好的方法来关闭当前窗口?

它在FF中不起作用,因为它是设计使然。

您只能关闭脚本打开的窗口。 即使你可能会找到一个技巧让它暂时工作,但是一旦FF在下一个版本中修补它,你的脚本将再次停止工作。

我的建议是改变你的页面设计。 也许使用模态窗口或div

你应该试试这个技巧

如何使用 Javascript 关闭 FireFox 中的窗口或选项卡

第一步是欺骗浏览器,使其认为它已打开 用脚本...

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

这将在目标框架/窗口中打开一个新页面(不存在), (_parent当然是脚本所在的窗口 执行),并定义参数,如窗口大小等,(在此 案例 none 定义为不需要)。现在浏览器认为 脚本打开了一个页面,我们可以以标准方式快速关闭它......

window.close();

你有它 - 我告诉你这很简单!万一你没有 接下来,这是通过两个简单步骤完成的完整解决方案:

  1. 将以下代码复制/粘贴到页面头部...
    <script language="javascript" type="text/javascript">
     function closeWindow() {
     window.open('','_parent','');
     window.close();
     }
     </script>
  1. 像这样设置您的链接:
<a href="javascript:closeWindow();">Close Window</a>
or like this:
<input type="button" value="Close Window" onclick="closeWindow()"/>