Alguém pode fechar o pop -up gerado pelo jQuery plugin bpopup, a partir de um iframe infantil?
-
27-09-2019 - |
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?
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; }