【发布时间】:2011-06-29 22:49:31
【问题描述】:
我在这里遇到了一个问题。我在 iFrame 中有一个 fancybox,它可以正常工作,但我需要将它扩展到 iFrame 之外,以便它可以填满整个屏幕(我的意思是扩展到它的父级)。
有人知道怎么做吗?
【问题讨论】:
标签: javascript jquery iframe fancybox lightbox
我在这里遇到了一个问题。我在 iFrame 中有一个 fancybox,它可以正常工作,但我需要将它扩展到 iFrame 之外,以便它可以填满整个屏幕(我的意思是扩展到它的父级)。
有人知道怎么做吗?
【问题讨论】:
标签: javascript jquery iframe fancybox lightbox
如果页面和 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">');
});
【讨论】:
'showCloseButton' : false?
tpl 选项。
这是不可能的。 iframe 是独立的页面,只能通过 JavaScript 与父级交互,即使这样也是不正当的行为。
无论您做什么,您的 fancybox 都无法延伸到 iframe 之外,但您可以通过 JavaScript 调用父页面上的一个。
这篇文章将从两个方向(父级 -> iframe、iframe -> 父级)回答您的问题:Invoking JavaScript code in an iframe from the parent page
附带说明一下,iframe 大约在 5 年前就已经过时了。我会在任何新作品中避免使用它们。
干杯。 :)
【讨论】: