用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 相关文章推荐
JS日历 推荐
Dec 03 Javascript
直接生成打开窗口代码,不必下载
May 14 Javascript
js获取当前页面的url网址信息
Jun 12 Javascript
由浅入深讲解Javascript继承机制与simple-inheritance源码分析
Dec 13 Javascript
干货分享:让你分分钟学会javascript闭包
Dec 25 Javascript
jquery插件jquery.dragscale.js实现拖拽改变元素大小的方法(附demo源码下载)
Feb 25 Javascript
Javascript的表单验证-提交表单
Mar 18 Javascript
hovertree插件实现二级树形菜单(简单实用)
Dec 28 Javascript
JS实现禁止用户使用Ctrl+鼠标滚轮缩放网页的方法
Apr 28 Javascript
使用vue-infinite-scroll实现无限滚动效果
Jun 22 Javascript
详解如何在webpack中做预渲染降低首屏空白时间
Aug 22 Javascript
vue+axios全局添加请求头和参数操作
Jul 24 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
php 启动报错如何解决
2014/01/17 PHP
php获取QQ头像并显示的方法
2014/12/23 PHP
php获取网站百度快照日期的方法
2015/07/29 PHP
thinkphp5 加载静态资源路径与常量的方法
2017/12/24 PHP
ext 同步和异步示例代码
2009/09/18 Javascript
解决表单中第一个非隐藏的元素获得焦点的一个方案
2009/10/26 Javascript
javascript 得到变量类型的函数
2010/05/19 Javascript
jquery ajax修改全局变量示例代码
2013/11/08 Javascript
动态创建script标签实现跨域资源访问的方法介绍
2014/02/28 Javascript
jquery实现动态改变div宽度和高度
2015/05/08 Javascript
JavaScript DOM 学习总结(五)
2015/11/24 Javascript
JS中事件冒泡和事件捕获介绍
2016/12/13 Javascript
如何快速解决JS或Jquery ajax异步跨域的问题
2018/01/08 jQuery
小程序实现上下移动切换位置
2019/09/23 Javascript
vue el-tree 默认展开第一个节点的实现代码
2020/05/15 Javascript
vue项目使用$router.go(-1)返回时刷新原来的界面操作
2020/07/26 Javascript
为Python的web框架编写前端模版的教程
2015/04/30 Python
Python的Django框架中的数据库配置指南
2015/07/17 Python
python验证码识别教程之利用滴水算法分割图片
2018/06/05 Python
pycharm安装和首次使用教程
2018/08/27 Python
Django model反向关联名称的方法
2018/12/15 Python
python3 Scrapy爬虫框架ip代理配置的方法
2020/01/17 Python
详解Python修复遥感影像条带的两种方式
2020/02/23 Python
Python新手学习函数默认参数设置
2020/06/03 Python
运行python提示no module named sklearn的解决方法
2020/11/29 Python
国贸类专业毕业生的求职信分享
2013/12/08 职场文书
留学推荐信写作指南
2014/01/25 职场文书
学校节能减排倡议书
2014/05/16 职场文书
护理医院见习报告
2014/11/03 职场文书
乡镇一岗双责责任书
2015/01/29 职场文书
培训通知
2015/04/17 职场文书
2015年高三班主任工作总结
2015/05/21 职场文书
幼儿园家长心得体会
2016/01/21 职场文书
高中数学教学反思范文
2016/02/18 职场文书
班组长如何制订适合本班组的工作计划?
2019/07/10 职场文书
用python批量解压带密码的压缩包
2021/05/31 Python