IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Contribuez Discussion :

[SRC] Attendre la fermeture d'une fille


Sujet :

Contribuez

  1. #1
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut [SRC] Attendre la fermeture d'une fille
    Voici un petit code basé sur un setInterval dasn la page mère pour attendre la fermeture d'un fille.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
     
    <title>Nouvelle page 1</title>
    <script type='text/javascript'>
     
    function Tester(){
     
    try{
        if(MaPop.location.href){}
      }
     
    catch(e){ 
        clearInterval(runner)
        alert ('plus de pop' )    }
        }
     
    var MaPop = window.open('about:blank','titre');
    var runner 
     
    function launch(){
     runner = setInterval(function(){Tester()},500)
    } 
    </script>
     
    </head>
     
    <body onload='launch()'>
    </body>
     
    </html>
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  2. #2
    Membre expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 239
    Points
    3 239
    Par défaut
    Et pourquoi ne pas utilser popupWindow.closed (ou isClosed je sais plus) ?
    Fremy
    Pour vos développements Web et une navigation agréable, le tout gratuit :
    1) IE 8 + IE7Pro (Si vous ne connaissez pas IE7Pro, essayez !)
    2) FF 3 + Web Developper Toolbar + AdBlockPlus + FireBug + GreaseMonkey

  3. #3
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    c'est crossBrowser ?
    tu as un bout de code qui marche ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  4. #4
    Membre expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 239
    Points
    3 239
    Par défaut
    FF : http://developer.mozilla.org/fr/docs/DOM:window.closed
    IE : http://msdn2.microsoft.com/en-us/library/ms533574.aspx

    Exemple : http://www.webreference.com/js/tutorial1/exist.html


    Le mieux est de tester ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    /*
      theWindow : est-ce que la fenêtre existe ?
      theWindow.open : est-ce que la fenêtre est une instance de l'objet window et est-ce ses propriétés sont encore accessibles (anciens navigateurs)
      theWindow.closed : la fenêtre est-elle fermée ?
    */
    if (theWindow && theWindow.open && (typeof(theWindow.closed)=="undefined" || !theWindow.closed)) {
       // theWindow est une fenêtre encore ouverte !
    } else {
       // theWindow n'existe pas ou a été fermée depuis.
    }
    Sur le site de mozilla on propose plus simple, et c'est toujours comme ca que j'ai fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
      if (popupWindow && !popupWindow.closed) {
      }
    Fremy
    Pour vos développements Web et une navigation agréable, le tout gratuit :
    1) IE 8 + IE7Pro (Si vous ne connaissez pas IE7Pro, essayez !)
    2) FF 3 + Web Developper Toolbar + AdBlockPlus + FireBug + GreaseMonkey

  5. #5
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    oki mais toujours dasn un setInterval alors
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  6. #6
    Membre expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 239
    Points
    3 239
    Par défaut
    Ah mais sinon, tu peux aussi utilser onunload

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    if (popupWindow.attachEvent) { // IE-based
      popupWindow.attachEvent("onunload", function() {
        var e = this.event;
        // event
      })
    } else { // FF-based
      popupWindow.addEventListener("unload", function(e) {
        // event
      }, true)
    }
    Fremy
    Pour vos développements Web et une navigation agréable, le tout gratuit :
    1) IE 8 + IE7Pro (Si vous ne connaissez pas IE7Pro, essayez !)
    2) FF 3 + Web Developper Toolbar + AdBlockPlus + FireBug + GreaseMonkey

  7. #7
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 650
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 650
    Points : 11 142
    Points
    11 142
    Par défaut
    on en revient à ça en somme

    fenetre parent
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
     
    <html>
    <head>
    <title></title>
    <script type="text/javascript">
    <!--
    var etatFenFille = "fermee";
    var fenFille =null;
     
    function ouvreFenFille()
    {
      fenFille= window.open("fille.htm","","");
    }
     
    function retourneEtatFenFille()
    {
     
      if (etatFenFille=="ouverte")
      {
        alert("Fenêtre fille ouverte");
        fenFille.focus();
      }
      else if (etatFenFille=="fermee")
           {
              alert("Fenêtre fille fermée");
           }
           else
           {
              alert("Erreur");
           }
    }
     
    //-->
    </script>
    </head>
     
    <body>
     
    <input type="button" value="Ouvrir la fenêtre fille" onclick="ouvreFenFille()" />
     
     
    </body>
     
    </html>

    puis dans la pop-up :
    fille.htm

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
    <html>
    <head>
    <title></title>
     
    <script type="text/javascript">
    <!--
    function fermeture()
    {
     var parent = window.opener;
     parent.etatFenFille = "fermee";
     
     parent.retourneEtatFenFille();
    }
     
    function ouverture()
    {
     var parent = window.opener;
     parent.etatFenFille = "ouverte";
     
     parent.retourneEtatFenFille();
    }
     
     
    //-->
    </script>
     
    </head>
     
    <body onunload="fermeture()" onload="ouverture()">
     
    coucou
     
     
    </body>
     
    </html>

  8. #8
    Membre confirmé Avatar de yjuliet
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Août 2006
    Messages
    362
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 362
    Points : 460
    Points
    460
    Par défaut
    Citation Envoyé par FremyCompany
    Et pourquoi ne pas utilser popupWindow.closed (ou isClosed je sais plus) ?
    pour commencer parce que MS a référencé un bug dans IE sur les appels à closed ... : http://support.microsoft.com/kb/q241109/
    C'est pas hyper récent et à priori corrigé dans IE7, mais je suis tombé dessus au boulot sous IE6 ...

  9. #9
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    heu non MS à corrigé le bug du opener en lecture seule ...
    Je n'ai rien lu sur le closed ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  10. #10
    Membre habitué Avatar de amerex
    Homme Profil pro
    Analyste Support et Développement
    Inscrit en
    Septembre 2007
    Messages
    246
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Analyste Support et Développement
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2007
    Messages : 246
    Points : 148
    Points
    148
    Par défaut
    Je suis vraiment le seul qui a remarqué le "fermeture d'une fille" ?
    Amerex
    «La chance sourit aux audacieux»
    Ms Access, Ms Excel, Ms FrontPage, Expression Web, Crystal, UniVerse, Basic, SQL, PHP, VBA...

    N'oubliez pas de noter les messages!

  11. #11
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 650
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 650
    Points : 11 142
    Points
    11 142
    Par défaut
    Citation Envoyé par amerex Voir le message
    Je suis vraiment le seul qui a remarqué le "fermeture d'une fille" ?
    tu expliques ce qui t'amuse ?


    C'est une fenêtre mère et une fenêtre fille. Mais si tu veux tu peux écrire un fenêtre père et un fenêtre fils mais tu fais une faute de français.

Discussions similaires

  1. Attendre la fermeture d'une JFrame pour faire reste des instructions
    Par rock in the air dans le forum Agents de placement/Fenêtres
    Réponses: 13
    Dernier message: 16/05/2008, 12h05
  2. attendre la fermeture d'une form
    Par filsdugrand dans le forum Débuter
    Réponses: 2
    Dernier message: 22/03/2008, 20h59
  3. Comment attendre la fermeture d'une fenetre fille?
    Par Jorodan dans le forum GTK+ avec C & C++
    Réponses: 4
    Dernier message: 09/05/2007, 08h58
  4. Attendre la fermeture d'une JFrame
    Par davinout dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 15/01/2007, 18h29
  5. [VB6] [MDI] Signaler la fermeture d'une fille à la mère
    Par cpri1shoot dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 13/04/2004, 08h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo