Heim > Web-Frontend > js-Tutorial > Die Funktion window.open schließt alle untergeordneten Windows_Javascript-Fähigkeiten

Die Funktion window.open schließt alle untergeordneten Windows_Javascript-Fähigkeiten

WBOY
Freigeben: 2016-05-16 15:47:33
Original
1618 Leute haben es durchsucht

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();
    }
  }
}
Nach dem Login kopieren

Das Obige ist die vollständige Beschreibung dieses Artikels. Ich hoffe, dass er für alle hilfreich ist.

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage