在Fancybox中单击时,关闭Fancybox并在“主页面”上加载单击的id / a

时间:2015-02-25 21:03:31

标签: jquery iframe fancybox

我想知道以下是否可行:

我有href ID。点击后会打开Fancybox iframe

现在,当您在Fancybox <a href..> / ID点击 iframe时,Fancybox会关闭并加载主页上点击的链接。

我知道我可以使用

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

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

1 个答案:

答案 0 :(得分:0)

如果我理解你的问题,fancybox iframe中的链接应该在主页中打开,而不是在fancybox iframe中打开。

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

<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其中任何一个时,他们应该打开(除非有X-Frame限制)新页面在同一个打开的fancybox中,不应该吗?

我会在页面(您从中调用fancybox iframe)创建一个函数,该函数将href中每个链接的iframe作为参数打开并打开它们在主窗口中被称为:

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

然后将onclick 属性添加到每个<a>链接(在iframed页面内),将href传递给函数页面中,如:

<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页面都在同一个域下。