FancyBox如何在iframe内关闭并将父页面跳转到链接

23

我发现将以下函数应用于链接的onclose可以关闭iFrame中的Fancybox:

parent.$.fancybox.close();

我想进一步实现,让该链接将父页面带到一个新的网址。 我尝试了以下方法,但它并不起作用:

<a onclick="location.href='http://www.domain.com/page/';parent.$.fancybox.close();"> Close and go to page</a>

使用a href也行不通,因为onclose会优先执行。

3个回答

35

非常简单的解决方案... 我简直不敢相信我没有想到!!!

<a href="http://www.domain.com/page/" target="_parent"> Close and go to page</a>

有时候,我发誓我会把事情变得比实际上更困难!


兄弟,我不在乎这只是一个“谢谢”回复。 祝你一切顺利,谢谢。干净快速的解决方案。 - Luis

17

您也可以在父页面上编写一个函数来完成此操作:

function closeFancyboxAndRedirectToUrl(url){
    $.fancybox.close();
    window.location = url;
}

然后在iframe内的链接中,您可以这样做:

<a onclick="parent.closeFancyboxAndRedirectToUrl('http://www.domain.com/page/');">Close and go to page</a>

2
这也非常有用,如果您想在模态中使用一个调用父级函数以实际关闭它的函数(在提交表单后,在父级中显示通知时非常有用)。 - Tim Post

17

不需要关闭fancybox,只需使用:

function name(){
    self.parent.location.href='pageg.php';
}

2
我尝试了以上所有建议,只有这个对我有效!谢谢! - Filipa Lacerda

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接