任何人都可以从子iframe中关闭Jquery插件bPopup生成的弹出窗口?

fre*_*red 3 javascript jquery modalpopups bpopup

好的,故事很长,但希望你能忍受我,以便有一些问题的背景:

我正在使用ASP.NET开发门户网站的注册部分并使事情变得更好,我决定从这里使用bPopup 将注册页面加载到调用页面(父页面)的iframe中.现在我需要一种方法来在注册成功后关闭iframe所以从注册页面的代码隐藏(嵌套在iframe中)我尝试了一个允许我这样做的Javascript函数,这里是关闭iframe的函数由插件生成:

 function bPopup_close() {
         $(".bClose").closePopup();
     return false;
 }
Run Code Online (Sandbox Code Playgroud)

这里是iframe背后的代码(该函数将在提交时调用):

    ClientScript.RegisterOnSubmitStatement
        (GetType(), "Javascript", "javascript: window.opener.bPopup_close();");
Run Code Online (Sandbox Code Playgroud)

我无法关闭弹出窗口.有趣的是,Firebug告诉我,在我点击提交按钮后,window.opener为空.这是否意味着父母确实关闭了?无论如何弹出窗口还在那里......

希望你们能分享一些类似的见解吗?

Bru*_*uno 11

我可以看到dinbror已经在他的页面上回答了你:)

@fred:很高兴你喜欢它.您使用的是最新版本的bPopup吗?

解决方案:在页面上创建一个打开弹出窗口的函数:

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

然后,只要您完成以下操作,就可以在iframe中触发它:

parent.closeBPopup();