我想知道以下是否可行:
我有href
ID
。点击后会打开Fancybox iframe
。
现在,当您在Fancybox <a href..> / ID
上点击 iframe
时,Fancybox会关闭并加载主页上点击的链接。
我知道我可以使用
'afterClose':function () {
...
},
但是如何解决这个问题呢? 谢谢您的想法!
答案 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页面都在同一个域下。