解决javascript:window.close()在chrome,Firefox下失效的问题
window.close(),一看就知道是用来关闭浏览器窗口的方法。W3CSchool对该方法的解释如下:方法 close() 将关闭有 window 指定的顶层浏览器窗口。某个窗口可以通过调用 self.close() 或只调用 close() 来关闭其自身。只有通过 JavaScript 代码打开的窗口才能够由 JavaScript 代码关闭。这阻止了恶意的脚本终止用户的浏览器。
在IE中,window.close()能生效,在生效的时候,会弹出提示框,询问你是否关闭该窗口,如图:

点击“是”,可以直接关闭该窗口。是这段代码在chrome和Firefox下面不会生效。针对chrome浏览器,可以在编写如下代码,使之生效:
代码如下:
window.open('','_self','');
window.close();
先通过window.open()在本窗口打开一个页面,然后再通过window.close()方法关闭。这应验了这句话:“只有通过 JavaScript 代码打开的窗口才能够由 JavaScript 代码关闭”。
这段代码对IE和chrome都是有效的,但是在firefox下面无效。需要对firefox进行如下操作:
1.在Firefox地址栏里输入 about:config
2.在配置列表中找到 dom.allow_scripts_to_close_windows
3.点右键的选切换把上面的false修改为true即可。
注:默认是false,是为了防止脚本乱关窗口
FireFox中做如此设置以后,直接使用“window.close()”即可对窗口关闭。
相关推荐
-
JS出现失效的情况总结
对于大前端来说,JS可谓是我们的神器,从页面的效果到数据的传递,再到后台的业务,无处不充斥着JS的身影,但是万能的JS也有贪玩的时候,某一时刻你就有可能发现你形影不离的JS突然间罢工了,这对我们前端来说绝对是头痛的事,作为前端君的我今天就和大家聊聊有哪些情况会导致JS突然性的罢工. 1.JS出现错误,比如函数没有闭合,JS的标签出现错误等等情况,都会使得JS不能执行,这时如果不能发现错误,就会陷入JS貌似挂掉了的情况,也给开发工作造成困扰. 2.还有一种情况就是你苦苦修改的页面发现并不是你运
-
$.getJSON在IE下失效的原因分析及解决方法
复制代码 代码如下: $.ajaxSetup({ cache: false }); $.getJSON("/MyQueryUrl",function(data,item) { // do stuff with callback data $.ajaxSetup({ cache: true }); }); 原因:getJson在IE下IE下默认会使用浏览器缓存,所以导致数据不显示 解决:让其不要使用缓存 这里有更多的解决方法 http://stackoverflow.com/questi
-
一个js导致的jquery失效问题的解决方法
搞网站开发,最头疼的是js问题,倒不是php程序开发,前端的页面,js真是太让人折腾了,特别是js,你根本不知道哪里就会出问题,各种兼容也要兼顾,不像写程序,你只关心功能如何实现,逻辑怎么写.js文件一个出问题,就影响其他js的运行,今天就遇到一个很纠结的东西,一个js导致的莫名其妙的问题. 这个js是一个增强页面效果的功能,但是用了它,jquery在有的页面可以用,有的页面就失效了,用firefox的firebug调试,发现在有的页面会报错,获取分页的位置的地方会出错.后来发现确实只要没有分页
-
javascript的document.referrer浏览器支持、失效情况总结
在流量统计服务中都有Traffic source这个功能.Traffic source是针对访次级别的概念,换句话说,当访次建立的时候,landing page的流量来源即是该访次的Traffic source.虽然Traffic source有很多种,不过不幸的是依据现在JS,获得Traffic source的途径只有两种--document.referrer.window.opener.更不幸的是,window.opener适用的场景不多,而document.referrer非常的弱,以至于
-
解决火狐浏览器下JS setTimeout函数不兼容失效不执行的方法
今天检查自己用JQuery+AJAX+PHP做的网站后台登录检测,发现登陆成功后执行页面跳转函数这段JavaScript(JS)代码特效在IE和谷歌浏览器Chrome下都可以很好地执行,兼容性还不错.结果到了火狐(FireFox)浏览器下setTimeout这个JS内置函数不执行了,无效了,也没报错!打开FireBUG指望它能检测出JS的错误,结果没用...Javascript(JS)脚本代码在各浏览器下的兼容是一个很头疼的问题,经过一番调试和搜索,终于解决了setTimeout这个JS代码在火
-
Extjs grid panel自带滚动条失效的解决方法
之前用EXTJS的gridPanel组件的时候,因为经常对gridPanel中的stroe数据进行过滤,所以有时候总是导致gridPanel自身所带的scrollbar失效. 取个实例,EXTJS gridPanel自带的滚动条,是有一个固定的列宽来放置这个scrollbar的,如上图所示.所以当这个scrollbar失效的时候,无论你怎么拖动这个滚动条,grid中的数据永远都不会随scrollbar的移动而展示相应区域的数据(换句话说就是你永远看到的数据都是截图中的这几条record). 至于
-
js和jquery使按钮失效为不可用状态的方法
设置disabled属性为true即为不可用状态. JS: 复制代码 代码如下: document.getElementByIdx("btn").disabled=true; jquery 复制代码 代码如下: $("#btn").attr("disabled", true); html: 复制代码 代码如下: <input type="button" value="提交" id="btn&
-
jquery mobile页面跳转后样式丢失js失效的解决方法
用ajax跳转的时候,从a.html跳转到b.html后,b.html的css以及js都失效了. 方法: 将当前页面b.html需要用到的css以及js放在<page>div内. 原理: 由于jqm的ajax跳转的时候,只会把b.html中<page>内的内容加载进dom,而<page>外的代码都不会加载,所以导致在<page>外的js和css都失效了.
-
js和jquery设置disabled属性为true使按钮失效
设置disabled属性为true即为不可用状态. JS document.getElementByIdx("btn").disabled=true; jquery $("#btn").attr("disabled", true); html <input type="button" value="提交" id="btn">
-
Jquery修改页面标题title其它JS失效的解决方法
Jquery代码 复制代码 代码如下: $("title").html("hello"); 后来只好用下面这段js代码来实现 Js代码 复制代码 代码如下: document.title="hello";
随机推荐
- Python基于回溯法子集树模板实现8皇后问题
- Java 关键字 volatile 的理解与正确使用
- oracle创建一个数据库三步走
- .Net实现上传图片按比例自动缩小或放大的方法
- JavaScript原生节点操作小结
- javascript实现简易计算器
- JavaScript中的标签语句用法分析
- 利用CSS、JavaScript及Ajax实现图片预加载的方法
- Python类属性与实例属性用法分析
- Android中父View和子view的点击事件处理问题探讨
- JS实现弹性漂浮效果的广告代码
- JS基于Ajax实现的网页Loading效果代码
- Jquery公告滚动+AJAX后台得到数据
- 使用opencv拉伸图像扩大分辨率示例
- win2003 非公网IP配置VPN的图文教程
- .htaccess绑定域名到子目录的方法
- Java中ArrayList去除重复元素(包括字符串和自定义对象)
- 基于memset()函数的深入理解
- python实现媒体播放器功能
- 基于PowerShell在Ubuntu系统的使用详解
