首先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关闭它。