前言:
很多人可能没有关注过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