Chiunque può chiudere il popup generato dal plugin Jquery bPopup, da un bambino iframe?

Va bene, la storia è abit lungo, ma spero che tu possa portare con me, in modo che ci potesse essere un qualche sfondo per il problema:

Sto sviluppando la registrazione sezione del portale utilizzando ASP.NET e per rendere le cose nizza,
Ho deciso di utilizzare bPopup da qui per caricare la pagina di registrazione in iframe della pagina chiamante (pagina principale). Ora ho bisogno di un modo per chiudere l’iframe dopo la registrazione è avvenuta con successo, in modo da code-behind della pagina di registrazione (nidificato nell’iframe) ho provato una funzione Javascript da parte del genitore che mi permette di farlo, ecco la funzione per chiudere l’iframe generato dal plugin:

 function bPopup_close() {
         $(".bClose").closePopup();
     return false;
 }

ed ecco il codice dietro da iframe (la funzione sarà chiamato a presentare):

    ClientScript.RegisterOnSubmitStatement
        (GetType(), "Javascript", "javascript: window.opener.bPopup_close();");

Non ero in grado di chiudere il popup. È interessante notare che, Firebug mi ha mostrato che dopo che ho cliccato sul pulsante invia, finestra.opener è stato nullo. Vuol dire che il padre era infatti chiuso? Comunque il popup c’era ancora…

Spero che voi ragazzi potrebbe condividere alcune intuizioni su qualcosa di simile?

OriginaleL’autore fred | 2010-11-22

2 Replies
  1. 11

    Vedo che dinbror già risposto sulla sua pagina 🙂

    @fred: sono Contento che ti piaccia. Stai usando
    la versione più recente di bPopup?

    Soluzione: Creare una funzione di
    pagina che si apre il popup:

    funzione closeBPopup() {
    $(selector).bPopup().close() }

    Quindi si possono attivare all’interno della vostra
    iframe ogni volta che si è finito di fare
    la tua roba:

    genitore.closeBPopup();

    Quando ho chiamato il javascript da codebehind: ClientScript.RegisterOnSubmitStatement (GetType(), “Javascript”, “javascript: parent.bPopup_close();”); ho avuto l’errore: genitore.bPopup_close non è una funzione javascript: parent.bPopup_close();…..sigh…dove ho sbagliato?

    OriginaleL’autore Bruno

  2. 3

    Dopo mezza giornata, finalmente ho capito di lavoro con:

    ClientScript.RegisterStartupScript
    (GetType(), “bla”, “< script type=\”text/javascript\”>bclose(); < /script> “, false);

    e il codice bclose() è:

        function bclose() {
            parent.$("#popup").bPopup().close();
            return false;
        }

    OriginaleL’autore fred

Lascia un commento