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

JavaScript Discussion :

controler fermeture popup


Sujet :

JavaScript

  1. #1
    Membre averti
    Inscrit en
    Juillet 2004
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 35
    Par défaut controler fermeture popup
    Bonjour,

    je souhaite ouvrir une popup pour demander une valeur quelconque au visiteur et pendant ce temps, suspendre les traitements dans ma page mère.

    j'ouvre donc ma poup de cette façon:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    var popup = open("asfSicLOVPopup.jsp",popup,"resizable=1,width=300,height=200, top=300, left=300");
    et j'attends la fermeture de ma popup ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    while( popup.closed ==false){
    }
    Cela fonctionne mais régulièrement une erreur javascript se produit me signifiant permission refusée. Je pense que cela vient lorsque la popup est fermée et que l'on tente de vérifier son existance...

    Y aurait quelqu'un qui pourrait m'aider à résoudre ce problème, je n'en dors plus depuis 2 jours....

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 144
    Par défaut
    A tout hazard
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    while ( popup && popup.closed == false )
    aprés edit :
    si cela ne marche pas, tu peux utiliser une variable temporaire du genre ma_popup_existe que tu mets à true au lancement et que ta popup met à false quand tu la fermes

  3. #3
    Membre averti
    Inscrit en
    Juillet 2004
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 35
    Par défaut
    Merci mais cela ne fonctionne toujours pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    while ( popup && popup.closed == false )
    ne change rien et la deuxième solution m'indique qu'un script ralentit ma page. Si je continue a l'exécuter quand même; toute mon appli est effectivement ralentie...

  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 : 34
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Par défaut
    Pense à agir en mode asynchrone...

  5. #5
    Membre averti
    Inscrit en
    Juillet 2004
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 35
    Par défaut
    désolé pour mon ignorance mais c'est-à-dire?

  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 : 34
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Par défaut
    Qqchose dans ce gout la (j'ai été un peu vite, je l'avoue)
    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
    window.childs=new Array();
    window.childs.push(window.open([...]));
    var popup = window.childs[window.childs.length-1];
    var callBack=function() {
        // Fenêtre et document du popup
        var Window=this; // window (popup)
        if (!Window.opener) {
            Window=popup;
        }
        var Document=Window.document; // document (popup)
        /*
           document & window réprésentent les instance de la fenêtre mère
        */
        // Traiter les opérations
        // ...
    }
    popup.onunload=callBack;

  7. #7
    Membre averti
    Inscrit en
    Juillet 2004
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 35
    Par défaut
    effectivement ma popup s'affiche bien et fait les traitements, mais la page mère n'attend pas la fermeture de la popup pour poursuivre son exécution...

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Par défaut
    C'est parceque tu n'a pas fait comme il fallait, et c'est bien normal, j'ai pas expliqué tout J'ai tellement l'habitude de ce genre d'opération

    voila du pseudo code pour te montrer ce que tu devais faire et que tu n'as pas fait Bonne lecture
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    // [...]
    var callBack=function () {
        // [...]
        // Traiter les opérations
    }
    popup.onunload=callBack;
    while ([...]) {}
    alert("Popup fermé, reprise des opération")
    // Suite
    ==>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    // [...]
    var callBack=function () {
        // [...]
        // Traiter les opérations
        alert("Popup fermé, reprise des opération")  // Suite
    }
    popup.onunload=callBack;

  9. #9
    Membre averti
    Inscrit en
    Juillet 2004
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 35
    Par défaut
    désolé mais j'ai pas du tout comprendre...

    Voilà le code que j'utilise:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    window.childs=new Array();
    window.childs.push(window.open("asfSicLOVPopup.jsp",popup,"resizable=1,width=300,height=200, top=300, left=300"));
    var popup = window.childs[window.childs.length-1];
    callBack=function() {
        // Fenêtre et document du popup
        var Window=this; // window (popup)
        if (!Window.opener) {
            Window=popup;
        }
        var Document=Window.document; // document (popup)
     
    }
    popup.onunload=callBack;
    alert(statutPart);
    ma pop up me sert à questionner le visiteur et à mettre à jour la valeur de la variable statutPart.

    Or avec le code ci dessus, on a l'affichage de la valeur de la variable avant la fermeture de la popup, donc avant la mise à jour de cette variable...

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    window.childs=new Array();
    window.childs.push(window.open("asfSicLOVPopup.jsp","_blank","resizable=1,width=300,height=200, top=300, left=300"));
    var popup = window.childs[window.childs.length-1];
    callBack=function() {
        // Fenêtre et document du popup
        var Window=this; // window (popup)
        if (!Window.opener) {
            Window=popup;
        }
        var Document=Window.document; // document (popup)
        alert(statutPart);
    }
    popup.onunload=callBack;

  11. #11
    Membre averti
    Inscrit en
    Juillet 2004
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 35
    Par défaut
    dnas ce cas là l'affichage du message d'alerte ne se fait pas.

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Par défaut
    J'ai peut-être fait une faute de frappe.... Que dit la console d'erreur de FireFox ?

  13. #13
    Membre averti
    Inscrit en
    Juillet 2004
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 35
    Par défaut
    bah justement, il n'y a pas d'erreur.
    De même j'ai testé de juste afficher le message alert("Popup fermé, reprise des opération") sans succès non plus

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Par défaut
    popup.onunload=callBack; ==> popup.document.onuload=callBack;

  15. #15
    Membre averti
    Inscrit en
    Juillet 2004
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 35
    Par défaut
    non pas mieux

  16. #16
    Membre averti
    Inscrit en
    Juillet 2004
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 35
    Par défaut
    tout simplement encadrer ma boucle while d'un try catch....

    ah programmer proprement ca sert quand même

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Par défaut
    popup.document.onunload ?

    sinon j'ai aussi une autre méthode (celle que moi j'utilise) :

    Ouverture :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    popup.callBack=callBack;
    Dans le popup :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <body onunload="window.callBack()">

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Message confirmation avant fermeture popup
    Par Ant8386 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 19/07/2006, 12h11
  2. fermeture popup
    Par djibril dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 20/03/2006, 06h53
  3. Problème fermeture popup
    Par nicolb dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 25/02/2006, 09h53
  4. [C#]remplissage d'un textbox apres fermeture popup
    Par julio84 dans le forum ASP.NET
    Réponses: 9
    Dernier message: 11/05/2005, 14h44
  5. [C#]rechargement page apres fermeture popup
    Par julio84 dans le forum ASP.NET
    Réponses: 5
    Dernier message: 04/05/2005, 10h50

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