window.close()无法在firefox中运行

时间:2015-01-31 09:20:15

标签: javascript jquery firefox

我想关闭当前的浏览器标签。

我试过

window.close();

  var win = window.open('', '_self');
  win.close();

但这些在chrome中正常运行,但在firefox中无效。 我也在google上进行了研究,但我找不到任何解决方案。

我知道这些问题之前已发布,但我看过主题,但我没有找到解决方法。

1 个答案:

答案 0 :(得分:3)

第一步是欺骗浏览器认为它是用脚本打开的......

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

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

window.close();

默认情况下,在Mozilla中," dom.allow_scripts_to_close_windows"控制Java Script关闭窗口的值设置为" false"。要解决此问题,请将此值更改为" true"

  1. 文件的位置:

    C:\Program Files\Mozilla Firefox\greprefs\all.js

  2. 更改"dom.allow_scripts_to_close_windows" from "false" to "true"

    示例:

    默认值

    pref("dom.allow_scripts_to_close_windows", false);

    将其更改为:

    pref("dom.allow_scripts_to_close_windows", true);

    2.关闭Mozilla browser

    3.尝试访问包含window.close()代码段

    的HTML页面