Fenêtre fermée : La propriété closed : Comment puis-je tester si mon autre fenêtre est fermée ou si elle est encore ouverte?

.....

...

JavaScript cours tutorial

Définition et utilisation

La propriété closed retourne une valeur booléenne indiquant si une fenêtre a été fermée ou non.

Syntaxe

window.closed

Supposons que vous ouvriez une nouvelle fenêtre du navigateur en utilisant la méthode window.open()

  maFenetre=window.open("","","width=400,height=200");

Plus tard, vous pouvez vérifier si cette fenêtre est toujours ouverte en utilisant la propriété window.closed:

  if (maFenetre.closed) alert ("C'est fermé!")

 else alert ("Il est encore ouvert!")

Un problème avec la propriété closed est que la maFenetre référence de la fenêtre elle-même peut être défini si la fenêtre maFenetre n'est pas actuellement ouvert et n'a jamais été ouvert avant.

Cette situation peut entraîner des erreurs de script.

Pour éviter ce genre d'erreurs, votre page Web doit faire en sorte que maFenetre.closed est définie à tout moment. Vous pouvez accomplir cela comme le montre l’exemple  ci-dessous:


Appui de navigateur

Internet Explorer Firefox Opera Google Chrome Safari

La propriété closed est prise en charge dans tous les principaux navigateurs.


Exemple Une fonction qui vérifie si une fenêtre appelée « maFenetre » a été fermée ou pas :

Sélectionner le code

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
            <title>Verifier si une fenêtre est
férmée</title>
            <style>
            #msg{font-size:2em;color:#f00;}
            </style>
<script>
 
var maFenetre;
 
function ovrirFenetre()
{
maFenetre=window.open("","","width=400,height=200");
}
 
function fermerFenetre()
{
if (maFenetre)
  {
  maFenetre.close();
  }
}
 
function verifFenetre()
{
if (!maFenetre)
  {
  document.getElementById("msg").innerHTML="'maFenetre' n'a
jamais été ouverte!";
  }
else
  {
  if (maFenetre.closed)
    {
    document.getElementById("msg").innerHTML="'maFenetre' a été
férmée!";
    }
  else
    {
    document.getElementById("msg").innerHTML="'maFenetre' n'est
pas fermée!";
    }
  }       
}
</script>
</head>
<body>
 
<input type="button" value="Ouvrir 'maFenetre'"
onclick="ovrirFenetre()" />
<input type="button" value="fermer 'maFenetre'"
onclick="fermerFenetre()" />
<br><br>
<input type="button" value="est ce que 'maFenetre' est
férmée?" onclick="verifFenetre()" />
<br><br>
<div id="msg"></div>
</body>
</html>

 

Dans cet exemple nous avons créé 3 boutons qui vont nous permettre d’ouvrir, fermer une fenêtre et vérifier si la fenêtre a été ouverte, fermée ou non.

Copier et coller le code dans un fichier et exécuter le dans votre explorateur.

Appuyiez sur le bouton « est ce que maFenetre est fermée ?» vous recevrez le message qu’elle n’a jamais été ouverte !

Click sur le bouton « Ouvrir maFenetre » une fenetre pop up sera ouverte

Cliquez à nouveau sur le bouton « est ce que maFenetre est fermée ?» et recevrez le message que non

Fermez la fenêtre soit par le bouton « fermer maFenetre » ou directement dans l’explorateur

Et cliquez sur le bouton   « est ce que maFenetre est fermée ?» et vous recevrez le message qui dit que oui !

Dans l’exemple nous avons choisi l’événement click sur un bouton pour vérifier si la fenêtre est fermée, mais vous pouvez faire la vérification on réponse à tout événement que vous voulez..

Par carabde 30 mars 2014