近来的。我们遇到了权限管理系统。由于权限管理系统与原系统的风格不符。打开一个全新的窗口。问题就来了。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技术大神 能够指导我们。

再次感谢。

版权声明:本文博主原创文章,博客,未经同意不得转载。

js父窗体关闭,子窗体紧随的更多相关文章

  1. winform打开子窗体后,在子窗体中刷新父窗体,或者关闭子窗体刷新父窗体

    winform打开子窗体后,在子窗体中刷新父窗体,或者关闭子窗体刷新父窗体,搜集了几个方法,列举如下: 一 . 所有权法 父窗体,名称为“fuForm”,在父窗体中有个公共刷新方法,也就是窗体数据初始 ...

  2. Caliburn.Micro 关闭父窗体打开子窗体

    比如我们在做登录的时候需要关闭父窗体打开子窗体.使用Caliburn.Micro它的时候我们关闭登录窗口的时候主页面也会关闭. 解决方法就是在登录页面的CS里面写 IndexView iv = new ...

  3. winform里操作打开在panel里的form窗体,子窗体操作同级子窗体或者父窗体的方法

    最近开始了一个winform项目,原先一直都是web项目.遇到个问题,就是在框架内,左侧和中间的main都是用panel来实现的form,就是把form窗体打开到panel里,实现左侧是导航,中间是操 ...

  4. asp.net 父窗体获取子窗体的返回值,可用来对父窗体局部更新

    今天在项目上遇到了这个问题,其实只是window.returnValue的简单应用,不是asp.net的专属内容.作为积累,记录一个简单的实现模型. 图1  用到的文件 从图1中我们可以看到,只用到了 ...

  5. C# 关闭子窗体释放子窗体对象问题

    1 在主窗口中实例化子窗口 Form2 f2 = new Form2(); 2 通过按钮来显示子窗口 f2.Show(); 3 关闭子窗口而不释放子窗口对象的方法 protected override ...

  6. 附实例!实现iframe父窗体与子窗体的通信

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由前端林子发表于云+社区专栏 本文主要会介绍如何基于MessengerJS,实现iframe父窗体与子窗体间的通信,传递数据信息.同时本 ...

  7. C# 父窗体与子窗体之间委托

    先实例化子窗体jobForm,然后让 jobForm.TransfEvent += job_TransfEvent;显示子窗体 if (jobForm.DialogResult != DialogRe ...

  8. [译]GLUT教程 - 创建和关闭子窗体

    Lighthouse3d.com >> GLUT Tutorial >> Subwindows >> Creating and Destroying Subwind ...

  9. dev控件 xtraTabbedMdiManager 如何将关闭子窗体改为收回主窗体内

    前言 本文主要讲解 xtraTabbedMdiManager 如何将关闭子窗体改为收回主窗体内,顺便附上Float(浮动)的时候使窗体最大化,及指定只能某一个子窗体能浮动放大. 下面进入正题. 一.首 ...

  10. C#_父窗体跟子窗体的控件操作

    很多人都苦恼于如何在子窗体中操作主窗体上的控件,或者在主窗体中操作子窗体上的控件.相比较而言,后面稍微简单一些,只要在主窗体中创建子窗体的时候,保留所创建子窗体对象即可. 下面重点介绍前一种,目前常见 ...

随机推荐

  1. 小型机与pc服务器区别

    按CPU的类型来区分,小型机是基于RISC(精简指令集)架构的专用服务器,而服务器是基于CISC(复杂指令集)架构的PC服务器.小型机相对于普通服务器来说,一直有不可比拟的优势.(1)如必能稳定,它具 ...

  2. -bash: /usr/local/mysql/scripts/mysql_install_db: /usr/bin/perl: bad interpreter: No such file or directory

    安装 MySQL 初始化时,报错如下: [root@hcdb1 ~]# /usr/local/mysql/scripts/mysql_install_db --defaults-file=/etc/m ...

  3. matlab 程序发布

    将matlab程序发布为可执行程序包 说明,这种可执行程序包可以在没有安装matlab的计算机上运行. 1. 打开Applicaiton Compler 如果下拉列表中没有这个APPLICATIOND ...

  4. [AngularJS NG-redux] Handle Asynchronous Operations with Middleware

    Invariably the question that comes up when talking about Redux is how does one handle asynchronous o ...

  5. angular2的编译模式之AOT和JIT

    原文 https://www.jianshu.com/p/c959d90e91ce 大纲 1.angular应用为什么需要编译 2.angular的编译模式类型 3.JIT(Just-In-Time) ...

  6. iOS开发webView的使用二

    #import "ViewController.h" @interface ViewController ()<UIWebViewDelegate> @property ...

  7. ArcSDE中Compress与Compact的区别

    原文 ArcSDE中Compress与Compact的区别 附件一”为两种数据库需要的管理工作.      与所表示的含义与操作是不同的.     对于来说,Compressing与Smart Dat ...

  8. 【社交分享SDK】ShareSDK for Android 2.5.9已经公布

    ShareSDK for Android 2.5.9已经公布 版本号:V2.5.9  2015-3-19 1.升级Dropbox对API接口的调用.包含授权.获取用户信息,分享三个接口 2.升级Kak ...

  9. UTC时间与当地时间的转换关系?

    UTC时间与当地时间转换关系? 一.总结 1.UTC +时区差=本地时间 2.UTC是世界统一时间 二.UTC时间是什么 1.UTC时间 协调世界时,又称世界统一时间.世界标准时间.国际协调时间.由于 ...

  10. 怎么实现登录之后跳转到登录之前的页面?SpringMVC+Freemarker

    项目中,想实现一个功能. 直接访问某个需要登录的url,比如/addArticle,可能会跳转到登录页面login.html. 登录成功之后,自动跳转到/addArticle这个登录前的页面,继续登录 ...