当在 Fancybox 中单击时,关闭 Fancybox 并在 "main page" 上加载单击的 id/a

Close Fancybox and load clicked id/a on "main page", when clicked inside Fancybox

我想知道以下是否可行:

我有一个 href 和一个 ID。单击它会打开一个 Fancybox iframe.

现在,当您在 Fancybox iframe 单击 一个 <a href..> / ID 时,Fancybox 将关闭并加载主页上单击的 link .

我知道我可以使用

   'afterClose':function () {
        ...
    },

但是我该如何解决这个问题? 感谢您的想法!

如果我对你的问题的理解正确,linkfancybox iframe 中的 s 应该在 主页 中打开,而不是在 fancybox iframe 中打开。

如果是这样,假设您在 iframed 页面中有这些 links :

<a href="http://example.com">open example</a>
<a href="http://another.com">open another</a>
<a href="http://someother.com">open someother</a>

当您 click 他们中的任何一个时,他们应该在同一个打开的 fancybox 中打开(除非有 X-Frame 限制)新页面,不是吗?

我会在 parent 页面(从你调用 fancybox iframe 的地方)创建一个函数,它获取每个 link 内的 href iframe 作为参数并在调用时在主 window 中打开它们:

function setHREF(href){
    jQuery.fancybox.close(); // call method to close fancybox
    window.location.href = href; // redirects page to new href
}

然后向通过 href 的每个 <a> link(在 iframed 页面内)添加一个 onclick 属性 parent 页面中的 function 如:

<a onclick="event.preventDefault();parent.setHREF(this.href)" href="http://example.com">open example</a>
<a onclick="event.preventDefault();parent.setHREF(this.href)" href="http://another.com">open another</a>
<a onclick="event.preventDefault();parent.setHREF(this.href)" href="http://someother.com">open someother</a>

重要提示:假定您可以控制 iframed 页面,以便您可以编辑,并且父页面和 iframed 页面都在同一域下。