我遇到了问题。我在iFrame中有一个fancybox,它正常工作,但我需要它扩展到iFrame之外,这样它就可以填满整个屏幕(我的意思是扩展到它的父节点)。
有人知道该怎么做吗?
答案 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年前就已经不再流行了。我会在任何新的制作中避开它们。
干杯。 :)