前言

 

      很多人可能没有关注过window.close()这个api在非IE下的作用是否无效。

 

 

正文:

 

    问题分析

 

    window对象属于BOM范畴,在现行规范标准中没有统一,close方法属于BOM体系中window对象的成员,目前它不属于任何标准。使用close方法存在着一些安全方面的限制。

 

 

 

   在Gecko DOM参考文档中

 

   window.close只允许由window.open打开的窗口调用,如果窗口不是通过脚本方式打开的,JavaScript控制台将报:不允许脚本关闭非脚本打开的窗口。

 

 

 

     关于Chrome下解决方案

 

 


var href = window.location.href; window.open(href,"_self",""); window.close();

 

 

    关于ff下的解决方法

 

     在FF地址栏输入about:config

 

     在配置列表中找到dom.allow_scripts_to_close_windows

 

     设置true

 

扩展阅读:

 

http://www.w3help.org/zh-cn/causes/BX2012