Maison > interface Web > js tutoriel > La fonction window.open ferme toutes les compétences enfants windows_javascript

La fonction window.open ferme toutes les compétences enfants windows_javascript

WBOY
Libérer: 2016-05-16 15:47:33
original
1618 Les gens l'ont consulté

Cet article explique comment utiliser la méthode window.open pour ouvrir une sous-fenêtre. Lorsque nous fermons la fenêtre principale, toutes les sous-fenêtres seront également fermées. Vous trouverez ci-dessous mes idées d'implémentation et mon code à partager avec vous.

Idées de mise en œuvre :
1. Le deuxième paramètre winName de la fonction de fenêtre enfant ouverte window.open(url,winName) peut identifier de manière unique la fenêtre ouverte. Par conséquent, il vous suffit d’utiliser la fonction winName.close() pour fermer la fenêtre enfant.
2. Une page peut avoir plusieurs sous-fenêtres. Par conséquent, un tableau est nécessaire pour stocker tous les objets de fenêtre enfants. Une fois fermé, parcourez simplement le tableau.
3. Les sous-fenêtres peuvent également ouvrir des sous-fenêtres. La boucle continue indéfiniment. D’où la nécessité de faire preuve de jugement.
Cette exigence peut être satisfaite de deux manières.

Appelle la fonction de fermeture de la fenêtre enfant.
Cette méthode est facile à comprendre, mais au cours du processus de mise en œuvre proprement dit, il a été constaté que l'événement de fermeture du navigateur ne s'était pas produit. Et il faut la fermer en cliquant sur un bouton ou en utilisant une touche de raccourci. Il est un peu plus gênant de fermer la sous-fenêtre de manière récursive
. Cette méthode est simple à mettre en œuvre. L'inconvénient est que tous les tableaux d'objets fenêtre qui stockent des sous-fenêtres doivent avoir le même nom

.

Ce qui suit est une méthode de sous-fenêtre qui utilise la récursivité pour fermer les sous-fenêtres et les sous-fenêtres

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();
    }
  }
}
Copier après la connexion

Ce qui précède est la description complète de cet article, j'espère qu'il sera utile à tout le monde.

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal