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

关于 IE firefox Chrome下的通过用js 关闭窗口的一些问题的更多相关文章

  1. Chrome浏览器 js 关闭窗口失效解决方法

    //获取元素ID var DelHtml = document.getElementById("imgdel"); //alert(DelHtml); //添加点击事件 DelHt ...

  2. IE下设置unselectable与onselectstart属性的bug,Firefox与Chrome下的解决方案

    在IE下给DIV设置unselectable与onselectstart属性,可以让div的内容不能选中,这个功能在很多情况下,非常有用,但是他的bug太明显, 直接使用一个DIV是可以的,比如: & ...

  3. Chrome出了个小bug:论如何在Chrome下劫持原生只读对象

    Chrome出了个小bug:论如何在Chrome下劫持原生只读对象 概述 众所周知,虽然JavaScript是个很灵活的语言,浏览器里很多原生的方法都可以随意覆盖或者重写,比如alert.但是为了保证 ...

  4. IE/Firefox/Chrome等浏览器保存Cookie的位置

    IE/Firefox/Chrome等浏览器保存Cookie的位置 原文  http://smilejay.com/2013/04/browser-cookie-location/   前面写了篇长文( ...

  5. 当fixed元素相互嵌套时chrome下父元素会影响子元素的层叠关系

    问题:fixed元素被另一个fixed元素包含的时候在chrome下fixed子元素的定位会受到父元素的影响. demo(http://jsbin.com/qumah/1): <!DOCTYPE ...

  6. selenium + firefox/chrome/phantomjs登陆之模拟点击

    登陆之模拟点击 工具:python/java + selenium + firefox/chrome/phantomjs (1)windows开发环境搭建 默认已经安装好了firefox 安装pip ...

  7. selenium webdriver 启动三大浏览器Firefox,Chrome,IE

    selenium webdriver 启动三大浏览器Firefox,Chrome,IE 1.安装selenium 在联网的情况下,在Windows命令行(cmd)输入pip install selen ...

  8. input 光标在 chrome下不兼容 解决方案

    input 光标在 chrome下不兼容 解决方案 height: 52px; line-height: normal; line-height:52px\9 .list li input[type= ...

  9. [转]JS根据useAgent来判断edge, ie, firefox, chrome, opera, safari 等浏览器的类型及版本

    js根据浏览器的useAgent来判断浏览器的类型 userAgent 属性是一个只读的字符串,声明了浏览器用于 HTTP 请求的用户代理头的值. JavaScript语法:navigator.use ...

随机推荐

  1. makefile简单helloworld

    最近要在unix系统上开发c++应用程序,但默认情况下unix编译c++程序需要使用makefile.其实makefile语法还是比较简单,看上去有点像ant.废话不说了,直接上helloworld. ...

  2. solaris 操作系统配置联网

    1. 设置主机名: etc/hostname.vmxnet0 hannick 2.设置主机名和ip地址的映射: etc/hosts 127.0.0.1 localhost 192.108.1.123 ...

  3. Spring 构造注入 传參数

    1.        提供相应的构造方法 //构造器注入 public class Bean6 { private String name; private Integer age; // 服务于构造器 ...

  4. c++栈管理库TCMalloc、jeMalloc

    示例:http://blog.csdn.net/chosen0ne/article/details/9338591

  5. OC KVC总结

    在iOS开发中,我们一般使用set方法或者点语法来修改对象的属性值,比如说 stu.age = 9 与 [stu setAge:9]. KVC(key value coding)键值编码,这是一种间接 ...

  6. eclipse修改编译路径

    右击项目--properties--java build path--点击source,修改最下方的路径即可

  7. Objective-c 内存管理

    与 C 有一点类似,oc  需要使用 alloc 方法申请内存.不同的是,c 直接调用 free 函数来释放内存,而 oc 并不直接调用 dealloc 来释放.整个  oc 都使用对象引用,而且每一 ...

  8. BZOJ 2982: combination( lucas )

    lucas裸题. C(m,n) = C(m/p,n/p)*C(m%p,n%p). ----------------------------------------------------------- ...

  9. 关于codestyle

    如果你的代码易于阅读,那么代码中bug也将会很少,因为一些bug可以很容被调试,并且,其他开发者参与你项目时的门槛也会比较低.因此,如果项目中有多人参与,采取一个有共识的编码风格约定非常有必要. 以t ...

  10. java和.net 处理任意格式日期字符串转日期类型,

    1.SimpleDateFormat.parse 把指定格式字符串转日期类型 public static Calendar convToCalender(String str,String templ ...