In diesem Artikel wird erläutert, wie Sie mit der Methode window.open ein Unterfenster öffnen. Wenn wir das Hauptfenster schließen, werden auch alle Unterfenster geschlossen. Nachfolgend finden Sie meine Implementierungsideen und meinen Code, die ich mit Ihnen teilen möchte.
Umsetzungsideen:
1. Der zweite Parameter winName der Funktion zum Öffnen untergeordneter Fenster window.open(url,winName) kann das geöffnete Fenster eindeutig identifizieren. Daher müssen Sie nur die Funktion winName.close() verwenden, um das untergeordnete Fenster zu schließen.
2. Eine Seite kann mehrere Unterfenster haben. Daher ist ein Array erforderlich, um alle untergeordneten Fensterobjekte zu speichern. Wenn es geschlossen ist, durchlaufen Sie einfach das Array.
3. Unterfenster können auch Unterfenster öffnen. Die Schleife wird auf unbestimmte Zeit fortgesetzt. Daher ist ein Urteil erforderlich.
Diese Anforderung kann auf zwei Arten erreicht werden.
Rufen Sie die Schließfunktion des untergeordneten Fensters auf.
Diese Methode ist leicht zu verstehen, aber während des eigentlichen Implementierungsprozesses wurde festgestellt, dass das Schließereignis des Browsers nicht aufgetreten ist. Und es muss durch Klicken auf eine Schaltfläche oder Verwendung einer Tastenkombination geschlossen werden. Es ist etwas mühsamer, das Unterfenster rekursiv zu schließen
Diese Methode ist einfach zu implementieren. Der Nachteil besteht darin, dass alle Fensterobjekt-Arrays, die Unterfenster speichern, denselben Namen haben müssen
Das Folgende ist eine Unterfenstermethode, die Rekursion verwendet, um Unterfenster und Unterfenster zu schließen
function closeSonWindow(win){ for(var index=0;index<win.length;index++){ //如果窗口已关闭 if(win[index].closed){ continue; } //如果窗口没有可以打开的子窗口 if(typeof(win[index].openedWindow)=="undefined"){ win[index].close(); continue; } if(win[index].openedWindow.length==0){ win[index].close(); }else{ closeSonWindow(win[index].openedWindow); win[index].close(); } } }
Das Obige ist die vollständige Beschreibung dieses Artikels. Ich hoffe, dass er für alle hilfreich ist.