关闭父窗口的时候连同关闭子窗口

时间:2022-07-17 23:53:39

1.代码如下
<!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')">打开新窗口</a>
<a href="#" onclick="logOut();">退出登录</a>
</body>
</html>

<script>
//用户记录所有打开的子窗口
var win_Array = new Array();
var win_num = -1;

//每次打开一个新窗口都记录下来
function openNew(uri){
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>

2.我的情况是前端使用的thymeleaf框架
所以有一点点不同,如下,其他的直接就好用啦
<a th:onclick="'javascript:openNew(\''+${portal.clientUrl}+'\')'" > 

3.经过测试基本上都好用