繁体   English   中英

通过fancybox脱离iframe

[英]break out of iframe with fancybox

我有一个带有iframe的页面,在iframe页面上,我有一个打开fancybox的img。 效果很好,只是模式框定位到iframe,只给整个页面的一部分提供了深色的覆盖层,将fancybox定位在iframe而不是整个页面的中央。

这是代码:

<img src="/img/icons/calendar.png" class="fancybox" id="fancyCalendar" />

<script>
    $j('#fancyCalendar').click(function() {
        $j.fancybox.open({
            href: 'calendar.html',
            type: 'iframe',
            padding: 5,
            width: 880,
            height: 335
        });
    });
</script>

我已经尝试过这些方法,但都没有效果:

  • 向img添加目标
  • 使img与目标链接
  • 在window.parent之前为window.parent
  • window.parent.parent对fancybox.open

我不知道我还能尝试什么,有人知道该怎么做吗?

iframe是另一个浏览器中一个单独的浏览器窗口,因此您无法做您想做的事情。

唯一的解决方法( 当iframe与顶部框架位于同一域时才有效)是调用父框架的fancybox函数。

在iframe中,您调用:

window.parent.openFancyBox(url, params...);

父级中 ,您具有本地功能

function openFancyBox(url, ....) {
    ...
}

您首先要在iframe中加载内容,然后使用插件fancybox打开它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM