关于 IE firefox Chrome下的通过用js 关闭窗口的一些问题

首先IE是可以通过window.close()来关闭浏览器窗口的,但是在firefox和Chrome下是无效的,原因在于:

~~~ie可直接<button onclick="window.close();">close</button>关闭窗口 ( ie8测试 )

Firefox下默认设置是无法通过脚本来关闭浏览器窗口的,为的是防止恶意脚本注入,

所以调整的方式就是在url地址栏中输入about:config,

然后在配置列表中找到 dom.allow_scripts_to_close_windows 
点右键的选切换把上面的false修改为true即可。 默认是false

 ~~firefox不设置about:config  直接用chrome的关闭方式 是没效果的;设置dom.allow_script_to_close_windows:true后可以用ie或chrome的方式 关闭窗口

chrome下的默认是不支持这种关闭方式的,但是也可以通过一些特殊的手段进行关闭:

window.opener=null;
window.open('','_self');
window.close();

创建窗口父元素无,同时将窗口指向自身,同时关闭自身,最后才可以关闭,其实有点类似与用脚本打开了当前页面,再用脚本关闭当前页面,而这种方式在W3C中是被认同的!

~~chrome 可以 window.open('', '_self'); window.close(); 这样关闭窗口

<a href="javascript:self.opener=null;self.close();">close</a>

~~~self.opener=null是必须的

~~~注: 应该是非window.open()方法打开的窗口 在chrome 不能用js去关闭;所以只要想办法让当前窗口变成一个类似window.open的窗口 则可以用js关闭它。

原文地址:https://www.cnblogs.com/stephenykk/p/3489230.html