国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

js父窗口關閉時子窗口隨之關閉完美解決方案

2024-05-06 16:04:50
字體:
來源:轉載
供稿:網友
admin注銷的時候,或者main.html關閉的時候,如何讓打開的所有新窗口一起關閉,下面有個不錯的解決方案,大家可以參考下

最近,遇到一個權限管理的系統。由于權限管理的系統和本來的系統風格不一致,所有新打開一個窗口。問題就來了,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="#">打開新窗口</a>
<a href="#">退出登錄</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技術大神 可以指導一下。再次致謝。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 昭平县| 英德市| 澄城县| 汝州市| 弥勒县| 循化| 襄垣县| 安庆市| 南召县| 紫云| 乌鲁木齐县| 涞水县| 三河市| 镇江市| 文昌市| 博野县| 观塘区| 双辽市| 乐东| 河南省| 衡阳市| 城市| 永定县| 治县。| 宁蒗| 德钦县| 筠连县| 彩票| 洛隆县| 赣榆县| 石河子市| 安新县| 通城县| 宁都县| 萨嘎县| 寿光市| 墨脱县| 韩城市| 商水县| 林甸县| 葫芦岛市|