好的,这个故事很长,但希望你能忍受我,以便有一些背景可以解决这个问题:
我正在使用ASP.NET开发门户网站的注册部分并使事情变得更好, 我决定使用here中的bPopup将注册页面加载到调用页面(父页面)的iframe中。现在我需要一种方法来在注册成功后关闭iframe所以从注册页面的代码隐藏(嵌套在iframe中)我尝试了一个允许我这样做的Javascript函数,这里是关闭iframe的函数由插件生成:
function bPopup_close() {
$(".bClose").closePopup();
return false;
}
这里是iframe背后的代码(该函数将在提交时调用):
ClientScript.RegisterOnSubmitStatement
(GetType(), "Javascript", "javascript: window.opener.bPopup_close();");
我无法关闭弹出窗口。有趣的是,Firebug告诉我,在我点击提交按钮后,window.opener为空。这是否意味着父母确实关闭了?无论如何弹出窗口还在那里......
希望你们能分享一些类似的见解吗?
答案 0 :(得分:11)
我可以看到dinbror已经在他的页面上回答了你:)
@fred:很高兴你喜欢它。你正在用吗 最新版本的bPopup?
解决方案:创建一个函数 打开弹出窗口的页面:
function closeBPopup(){ $(selector).bPopup()。close()}
然后你可以在你的内部触发它 iframe什么时候做完 你的东西:
parent.closeBPopup();
答案 1 :(得分:3)
半天后,我终于得到了它:
ClientScript.RegisterStartupScript (GetType(),“blah”,“< script type = \”text / javascript \“> bclose();< / script>”,false);
,代码bclose()是:
function bclose() { parent.$("#popup").bPopup().close(); return false; }