js父窗口关闭时子窗口随之关闭完美解决方案


Posted in Javascript onApril 29, 2014

最近,遇到一个权限管理的系统。由于权限管理的系统和本来的系统风格不一致,所有新打开一个窗口。问题就来了,admin注销之后,权限管理的窗口没有关闭。其他普通用户登录以后,仍然可以操作权限管理的窗口。

问题简化:admin注销的时候,或者main.html关闭的时候,打开的所有新窗口一起关闭。问题就解决了

直接看代码吧:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
<title>Insert title here</title> 
</head> 
<body onUnload="closeNews();"> <a href="#" onclick="openNew('http://www.baidu.com','nihao')">打开新窗口</a> 
<a href="#" onclick="logOut();">退出登录</a> 
</body> 
</html> 
<script> 
//用户记录所有打开的子窗口 
var win_Array = new Array(); 
var win_num = -1; 
//每次打开一个新窗口都记录下来 
function openNew(uri,param){ 
win_num = win_num+1; 
win_Array[win_num] = window.open(uri); 
} 
//用户注销的时候,执行关闭方法。body添加onUnload = "closeNews();" 当main窗口关闭时候,所有的子窗口关闭 
function closeNews(){ 
//关闭权限管理 
if(win_Array.length > 0){ 
for(var i = 0;i <= win_Array.length;i++){ 
var win_one = win_Array[i]; 
if(win_one != undefined){ 
win_one.close(); 
} 
} 
} 
} 
function logOut(){ 
//关闭子窗口 
closeNews(); 
//退出登录 
} 
</script>

说明一下:

<body onUnload="closeNews();">在body上添加onUnload事件很重要。即:当窗口关闭以后,执行关闭所有子窗口的方法。

测试:在web项目中,ie8,ie10,火狐,chrome,opera都没有问题。

一旦不放倒wen容器中,只是静态的 main.html页面的时候,ie有问题,因为静态的时候,ie的window.open()居然是打开新页面,不是打开新标签。所有关闭窗口的方法不再有效。

时间有限,还没有花精力去细究,还望知道为什么的js技术大神 可以指导一下。再次致谢。

Javascript 相关文章推荐
js综合应用实例简单的表格统计
Sep 03 Javascript
JavaScript定义类的几种方式总结
Jan 06 Javascript
JavaScript获取图片真实大小代码实例
Sep 24 Javascript
JavaScript对数字的判断与处理实例分析
Feb 02 Javascript
JavaScript中用于四舍五入的Math.round()方法讲解
Jun 15 Javascript
遮罩层点击按钮弹出并且具有拖动和关闭效果(两种方法)
Aug 20 Javascript
Jquery 分页插件之Jquery Pagination
Aug 25 Javascript
JS实现的另类手风琴效果网页内容切换代码
Sep 08 Javascript
javascript中window.open在原来的窗口中打开新的窗口(不同名)
Nov 15 Javascript
微信小程序 弹窗自定义实例代码
Mar 08 Javascript
生产制造追溯系统之在线打印功能
Jun 03 Javascript
Vue router配置与使用分析讲解
Dec 24 Vue.js
JS截取url中问号后面参数的值信息
Apr 29 #Javascript
javascript类型转换示例
Apr 29 #Javascript
常见浏览器多长时间会提示“脚本运行时间过长”总结
Apr 29 #Javascript
javascript中使用正则计算中文长度的例子
Apr 29 #Javascript
一个简单的Node.js异步操作管理器分享
Apr 29 #Javascript
IE浏览器中图片onload事件无效的解决方法
Apr 29 #Javascript
javascript的创建多行字符串的7种方法
Apr 29 #Javascript
You might like
thinkPHP5分页功能实现方法分析
2017/10/25 PHP
php在windows环境下获得cpu内存实时使用率(推荐)
2018/02/08 PHP
关于JQuery($.load)事件的用法和分析
2013/04/09 Javascript
js实现简单的星级选择器提交效果适用于评论等
2013/10/18 Javascript
JS实现转动随机数抽奖特效代码
2020/04/16 Javascript
VUEJS实战之修复错误并且美化时间(2)
2016/06/13 Javascript
终于实现了!精彩的jquery弹幕效果
2016/07/18 Javascript
JS实现鼠标滑过显示边框的菜单效果
2016/09/21 Javascript
ES6通过babel转码使用webpack使用import关键字
2016/12/13 Javascript
懒加载实现的分页&amp;&amp;网站footer自适应
2016/12/21 Javascript
提高Web性能的前端优化技巧总结
2017/02/27 Javascript
Angular2整合其他插件的方法
2018/01/20 Javascript
vue的全局提示框组件实例代码
2018/02/26 Javascript
详解react内联样式使用webpack将px转rem
2018/09/13 Javascript
使用taro开发微信小程序遇到的坑总结
2019/04/08 Javascript
vue实现路由切换改变title功能
2019/05/28 Javascript
[01:17:55]VGJ.T vs Mineski 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/20 DOTA
利用Python将每日一句定时推送至微信的实现方法
2018/08/13 Python
python实现批量注册网站用户的示例
2019/02/22 Python
Python实现定期检查源目录与备份目录的差异并进行备份功能示例
2019/02/27 Python
Python如何爬取实时变化的WebSocket数据的方法
2019/03/09 Python
pyQt5实时刷新界面的示例
2019/06/25 Python
Django模板导入母版继承和自定义返回Html片段过程解析
2019/09/18 Python
使用浏览器访问python写的服务器程序
2019/10/10 Python
python多线程并发及测试框架案例
2019/10/15 Python
浅析图片上传及canvas压缩的流程
2020/06/10 HTML / CSS
Jones Bootmaker官网:优质靴子和鞋子在线
2020/11/30 全球购物
Java里面Pass by value和Pass by Reference是什么意思
2016/05/02 面试题
获奖的大学生创业计划书
2014/01/05 职场文书
自我鉴定书面格式
2014/01/13 职场文书
《理想》教学反思
2014/02/17 职场文书
党员作风建设自查报告
2014/10/23 职场文书
2014年客服工作总结范文
2014/11/13 职场文书
护士年终工作总结不会写?各科护士模板总结
2020/01/02 职场文书
python基于tkinter制作m3u8视频下载工具
2021/04/24 Python
baselines示例程序train_cartpole.py的ImportError
2022/05/20 Python