将iFrame中的Fancybox扩展到外部

时间:2011-06-29 22:49:31

标签: javascript jquery iframe fancybox lightbox

我遇到了问题。我在iFrame中有一个fancybox,它正常工作,但我需要它扩展到iFrame之外,这样它就可以填满整个屏幕(我的意思是扩展到它的父节点)。

有人知道该怎么做吗?

2 个答案:

答案 0 :(得分:8)

如果页面和iframe位于同一个域中,您可以在iframe内打开父级中的fancybox窗口。查看the demo

父窗口(包含fancybox脚本,css和iframe)

<iframe src="child-page.htm" height="250" width="500"></iframe>

子页面(包含在父级中调用fancybox的脚本)

$('a').click(function() {
  // target the parent window (same domain only)
  // then call fancybox in the parent
  // You can add any HTML you want inside the fancybox call
  window.parent.$.fancybox('<img src="http://farm5.static.flickr.com/4058/4252054277_f0fa91e026.jpg" height="333" width="500">');
});

答案 1 :(得分:0)

这是不可能的。 iframe是独立的页面,只能通过JavaScript与父级进行交互,即便如此,它仍然是阴暗的行为。

无论你做什么,你的fancybox都无法扩展到iframe之外,但是通过一些工作,你可以通过JavaScript调用父页面上的一个。

这篇文章将在两个方向回答您的问题(父级 - > iframe,iframe - &gt;父级):Invoking JavaScript code in an iframe from the parent page

作为旁注,iframe在5年前就已经不再流行了。我会在任何新的制作中避开它们。

干杯。 :)