解决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和jquery设置disabled属性为true使按钮失效
设置disabled属性为true即为不可用状态. JS document.getElementByIdx("btn").disabled=true; jquery $("#btn").attr("disabled", true); html <input type="button" value="提交" id="btn">
-
JS出现失效的情况总结
对于大前端来说,JS可谓是我们的神器,从页面的效果到数据的传递,再到后台的业务,无处不充斥着JS的身影,但是万能的JS也有贪玩的时候,某一时刻你就有可能发现你形影不离的JS突然间罢工了,这对我们前端来说绝对是头痛的事,作为前端君的我今天就和大家聊聊有哪些情况会导致JS突然性的罢工. 1.JS出现错误,比如函数没有闭合,JS的标签出现错误等等情况,都会使得JS不能执行,这时如果不能发现错误,就会陷入JS貌似挂掉了的情况,也给开发工作造成困扰. 2.还有一种情况就是你苦苦修改的页面发现并不是你运
-
一个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非常的弱,以至于
-
$.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使按钮失效为不可用状态的方法
设置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 setTimeout函数不兼容失效不执行的方法
今天检查自己用JQuery+AJAX+PHP做的网站后台登录检测,发现登陆成功后执行页面跳转函数这段JavaScript(JS)代码特效在IE和谷歌浏览器Chrome下都可以很好地执行,兼容性还不错.结果到了火狐(FireFox)浏览器下setTimeout这个JS内置函数不执行了,无效了,也没报错!打开FireBUG指望它能检测出JS的错误,结果没用...Javascript(JS)脚本代码在各浏览器下的兼容是一个很头疼的问题,经过一番调试和搜索,终于解决了setTimeout这个JS代码在火
-
Jquery修改页面标题title其它JS失效的解决方法
Jquery代码 复制代码 代码如下: $("title").html("hello"); 后来只好用下面这段js代码来实现 Js代码 复制代码 代码如下: document.title="hello";
-
Extjs grid panel自带滚动条失效的解决方法
之前用EXTJS的gridPanel组件的时候,因为经常对gridPanel中的stroe数据进行过滤,所以有时候总是导致gridPanel自身所带的scrollbar失效. 取个实例,EXTJS gridPanel自带的滚动条,是有一个固定的列宽来放置这个scrollbar的,如上图所示.所以当这个scrollbar失效的时候,无论你怎么拖动这个滚动条,grid中的数据永远都不会随scrollbar的移动而展示相应区域的数据(换句话说就是你永远看到的数据都是截图中的这几条record). 至于
随机推荐
- 详解配置spring-boot-actuator时候遇到的一些小问题
- ASP.NET中操作数据库的基本步骤分享
- Python中的Matplotlib模块入门教程
- jQuery基于json与cookie实现购物车的方法
- Angularjs根据json文件动态生成路由状态的实现方法
- Javascript基础教程之数据类型 (布尔型 Boolean)
- java图片压缩工具类
- IntelliJ IDEA创建maven多模块项目(图文教程)
- Python读取一个目录下所有目录和文件的方法
- JavaScript实现鼠标滑过处生成气泡的方法
- 使用getBoundingClientRect方法实现简洁的sticky组件的方法
- 一步一步学asp.net ajax
- 详解Python3中yield生成器的用法
- JavaScript中解析JSON数据的三种方法
- js操作css属性实现div层展开关闭效果的方法
- js获取height和width的方法说明
- 130个漂亮CSS布局站点参考
- 小议sqlserver数据库主键选取策略
- 基于Jquery的文字自动截取(提供源代码)
- 用来解析.htpasswd文件的PHP类