用javascript关闭本窗口技巧小结


Posted in Javascript onSeptember 05, 2014

大家都知道window.close()是用来关闭窗口的,而且ie和firefox都是支持的。

为了实现用户对浏览器的绝对控制,ie中用close关闭非open打开的窗口时回弹出一个对话框询问用户,怎么去掉这个框呢,请看下面的代码。

function winClose(){ window.top.opener = null; window.close(); }

在window.close之前加上window.top.opener = null就可以了。

有人说firefox不支持close,其实这是错误的,之所以window.close在firefox不能使用,是因为firefox默认不能关闭用户打开的网页,可以这样设置firefox。

打开firefox,在地址栏输入about:config
找到dom.allow_scripts_to_close_windows这项并改为true。
需要说的是在firefox中没有弹出对话框的麻烦。

<script>
function a(){
window.open('','_parent','');
window.opener = window;
window.close(); 
}
</script>

再运行这个就能在ff下关闭了。

看到这些,如果让客户去设置的话,等于没有做这个功能,所以说结果不是很满意,不知道有没有其他好的替代方法。

后记:利用打开一个新窗口,然后关闭这个页面就可以实现关闭当前页面。谢谢strangebank。不过奇怪的是昨天我用ff2试验的时候没有成功,今天用3成功的。真是活见鬼了,今天在同事机子上用2做试验,又可以了。不过一早解决问题还是不错的哦。^_^

index.html

<a href="c.html" target="_blank">ddddddddd</a>

c.html

<a href="javascript:window.open('','_parent','');window.close();">Close Window</a>
Javascript 相关文章推荐
jQuery的选择器中的通配符[id^='code']或[name^='code']及jquery选择器总结
Dec 24 Javascript
7个jQuery最佳实践
Jan 12 Javascript
Angular2 父子组件数据通信实例
Jun 22 Javascript
浅谈node中的exports与module.exports的关系
Aug 01 Javascript
Vuex实现计数器以及列表展示效果
Mar 10 Javascript
node 命令方式启动修改端口的方法
May 12 Javascript
vue+axios新手实践实现登陆的示例代码
Jun 06 Javascript
基于vue.js实现分页查询功能
Dec 29 Javascript
小程序从手动埋点到自动埋点的实现方法
Jan 24 Javascript
vue-test-utils初使用详解
May 23 Javascript
微信小程序实现签到弹窗动画
Sep 21 Javascript
Canvas三种动态画圆实现方法说明(小结)
Apr 16 Javascript
使用jquery解析XML示例代码
Sep 05 #Javascript
js实现按一下删除键删除整个单词附demo
Sep 05 #Javascript
JS获取当前网页大小以及屏幕分辨率等
Sep 05 #Javascript
JS来动态的修改url实现对url的增删查改
Sep 05 #Javascript
jQuery表格插件datatables用法总结
Sep 05 #Javascript
jQuery中index()的用法分析
Sep 05 #Javascript
使用jquery解析XML的方法
Sep 05 #Javascript
You might like
仿AS3实现PHP 事件机制实现代码
2011/01/27 PHP
PHP 杂谈《重构-改善既有代码的设计》之一 重新组织你的函数
2012/04/09 PHP
[原创]PHP简单开启curl的方法(测试可行)
2016/01/11 PHP
Android App中DrawerLayout抽屉效果的菜单编写实例
2016/03/21 PHP
jquery 插件开发备注
2010/08/27 Javascript
bootstrap multiselect下拉列表功能
2017/08/22 Javascript
vue实现导航栏效果(选中状态刷新不消失)
2017/12/13 Javascript
Parcel.js + Vue 2.x 极速零配置打包体验教程
2017/12/24 Javascript
js原生方法被覆盖,从新赋值原生的方法
2018/01/02 Javascript
js中document.write和document.writeln的区别
2018/03/11 Javascript
vue下拉列表功能实例代码
2018/04/08 Javascript
vue自定义filters过滤器
2018/04/26 Javascript
微信小程序中使用wxss加载图片并实现动画效果
2018/08/13 Javascript
vue无限轮播插件代码实例
2019/05/10 Javascript
使用vue制作滑动标签
2019/09/21 Javascript
vue模块移动组件的实现示例
2020/05/20 Javascript
python 排列组合之itertools
2013/03/20 Python
Python下singleton模式的实现方法
2014/07/16 Python
Python中将变量按行写入txt文本中的方法
2018/04/03 Python
利用Anaconda简单安装scrapy框架的方法
2018/06/13 Python
Python实现查询某个目录下修改时间最新的文件示例
2018/08/29 Python
Django学习之文件上传与下载
2019/10/06 Python
详解用Python进行时间序列预测的7种方法
2020/03/13 Python
Python logging日志模块 配置文件方式
2020/07/12 Python
通过代码实例了解Python sys模块
2020/09/14 Python
CSS3制作皮卡丘动画壁纸的示例
2020/11/02 HTML / CSS
澳大利亚领先的在线药房:Pharmacy Online(有中文站)
2020/02/22 全球购物
赔偿协议书范本
2014/04/15 职场文书
法律顾问服务方案
2014/05/15 职场文书
2015年乡镇工作总结范文
2015/04/22 职场文书
国王的演讲观后感
2015/06/03 职场文书
灵魂歌王观后感
2015/06/17 职场文书
2019新学期家长会工作计划
2019/08/21 职场文书
PhpSpreadsheet中文文档 | Spreadsheet操作教程实例
2021/04/01 PHP
pytorch 如何使用amp进行混合精度训练
2021/05/24 Python
python 对图片进行简单的处理
2021/06/23 Python