将 iFrame 内部的 Fancybox 扩展到外部

发布于 2024-11-18 07:23:52 字数 116 浏览 3 评论 0原文

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

有人知道该怎么做吗?

I got stuck in a problem here. I have a fancybox inside an iFrame, and it works normally, but I need it to extend outside the iFrame so it can fill the whole screen (I mean extend to it's parent).

Does anybody knows how to do that?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

指尖凝香 2024-11-25 07:23:52

如果页面和 iframe 都在同一个域中,则可以从 iframe 内部打开父级中的 fancybox 窗口。查看演示

父窗口(包含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">');
});

If both the page and the iframe are in the same domain, you can open the fancybox window in the parent from inside the iframe. Check out the demo.

Parent Window (contains fancybox script, css and iframe)

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

Child Page (contains script to call fancybox in the parent)

$('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">');
});
拥抱没勇气 2024-11-25 07:23:52

这是不可能的。 iframe 是独立的页面,只能通过 JavaScript 与父级交互,即使如此,这也是一种可疑的行为。

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

这篇文章将从两个方向回答您的问题(父级 -> iframe,iframe -> 父级):从父页面调用 iframe 中的 JavaScript 代码

顺便说一句,iframe 大约 5 年前就不再流行了。我会在任何新作品中避免使用它们。

干杯。 :)

It's not possible. Iframes are independent pages and can only interact to the parent via JavaScript, and even then it's shady behavior.

Your fancybox cannot extend out of the iframe no matter what you do, but with some work you could call to one on the parent page via JavaScript.

This post will answer your question in both directions (parent -> iframe, iframe -> parent): Invoking JavaScript code in an iframe from the parent page

As a side note, iframes fell out of vogue about 5 years ago. I'd avoid them in any new production.

Cheers. :)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文