Alguém pode fechar o pop -up gerado pelo jQuery plugin bpopup, a partir de um iframe infantil?

StackOverflow https://stackoverflow.com/questions/4247710

Pergunta

Ok, a história é muito longa, mas espero que você possa suportar comigo para que haja algum fundo do problema:

Estou desenvolvendo a seção de registro para um portal usando asp.net e para tornar as coisas legais, decidi usar o BPOPUP de aqui Para carregar a página de registro no iframe da página de chamada (página pai). Agora eu preciso de uma maneira de fechar o iframe após um registro bem -sucedido, portanto, do CodeHind da página de registro (aninhada no iframe), tentei uma função JavaScript do pai que me permite fazê -lo, aqui está a função para fechar o iframe gerado pelo plugin:

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

E aqui está o código por trás do iframe (a função será chamada em envio):

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

Não consegui fechar o pop -up. Curiosamente, o Firebug me mostrou que, depois que cliquei no botão Enviar, Window.Opener estava nulo. Isso significa que o pai foi realmente fechado? De qualquer forma, o pop -up ainda estava lá ...

Espero que vocês possam compartilhar algumas idéias sobre algo semelhante?

Foi útil?

Solução

Eu posso ver que Dinbror já respondeu na página dele :)

@Fred: Que bom que você gostou. Você está usando a versão mais recente do BPOPUP?

Solução: Crie uma função na página que abre o pop -up:

function closebpopup () {$ (seletor) .bpopup (). Close ()}

Então você pode acioná -lo dentro do seu iframe sempre que terminar de fazer suas coisas com:

parent.CloseBpopup ();

Outras dicas

Depois de meio dia, finalmente consegui trabalhar com:

Clientscript.RegisterStartUpScript (getType (), "blá", "<script type = " text /javascript "> bclose (); < /script>", false);

e o código bclose () é:

    function bclose() {
        parent.$("#popup").bPopup().close();
        return false;
    }
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top