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

首頁 > 語言 > JavaScript > 正文

函數window.open實現關閉所有的子窗口

2024-05-06 16:24:19
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了函數window.open實現關閉所有的子窗口的相關資料,需要的朋友可以參考下。

此文介紹了如何用window.open方法打開一個子窗口,當我們要關閉主窗口時,這時候所有的子窗口也會跟著關閉。下面有我的實現思路和代碼,分享給大家。

實現思路:

1.打開子窗口函數window.open(url,winName)的第二個參數winName可以唯一標識打開的窗口。因此關閉子窗口只需要使用winName.close()函數即可。

2.一個頁面可能有多個子窗口。因此需要一個數組存儲所有子窗口對象。關閉時,遍歷數組即可。

3.子窗口還可以再打開子窗口。無限循環下去。因此需要判斷。

此需求可以通過兩個方法實現。

調用子窗口的關閉函數。

此方法易于理解,但是實際實現過程中發現瀏覽器的關閉事件并沒有。且需要是按鈕點擊關閉還是快捷鍵關閉,稍微麻煩一些、遞歸關閉子窗口

此方法實現簡單,缺點就是所有的窗口存儲子窗口的對象數組需同名

下面是使用遞歸關閉子窗口及子窗口的子窗口方法

 

 
  1. function closeSonWindow(win){ 
  2. for(var index=0;index<win.length;index++){ 
  3. //如果窗口已關閉 
  4. if(win[index].closed){ 
  5. continue
  6. //如果窗口沒有可以打開的子窗口 
  7. if(typeof(win[index].openedWindow)=="undefined"){ 
  8. win[index].close(); 
  9. continue
  10. if(win[index].openedWindow.length==0){ 
  11. win[index].close(); 
  12. }else
  13. closeSonWindow(win[index].openedWindow); 
  14. win[index].close(); 

以上就是本文的全部敘述,希望對大家有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 嘉义县| 康乐县| 扶沟县| 鹤庆县| 循化| 泸西县| 涞源县| 新乡县| 澄江县| 长治市| 迁安市| 申扎县| 获嘉县| 清原| 巴南区| 苍溪县| 兴山县| 万全县| 广南县| 平和县| 精河县| 蚌埠市| 达日县| 寿光市| 林甸县| 新兴县| 土默特左旗| 昌都县| 精河县| 和田市| 太保市| 革吉县| 陇西县| 中卫市| 永昌县| 甘泉县| 滕州市| 昔阳县| 陆川县| 白城市| 托克逊县|