将fancybox 3打开为iframe parent

问题描述 投票:0回答:1

这是我的问题: - 我有一个fancybox 3画廊介绍一个iframe - 当我点击其中一个链接,我希望图像显示在我的iframe的父母之上

我做了很多研究并尝试了几种解决方案

我发现了这个:call Fancybox in parent from iframe但它只为fancybox 2提供了解决方案

这是我在iframe上的代码:

$(document).ready(function() {
    parent.$(".fancybox").fancybox({
        href:  this.href
    });
});

请注意

  • 我在iframe和父级中都包含了jquery和fancybox 3
  • fancybox在iframe和父级中独立工作就像一个魅力,但不能从iframe中调用以显示在父级中(我的问题)
  • 我也尝试过: $(“。fancybox”,top.document).fancybox $(“。fancybox”,window.opener.document).fancybox $(“。fancybox”,window.parent.document).fancybox

这些都没有奏效

非常感谢您的关注

iframe fancybox fancybox-3
1个回答
0
投票

我希望你在做“很多研究”的同时重温文档。来自文档:

要从iframe内部访问和控制父窗口中的fancybox:

// Adjust iframe height according to the contents
parent.jQuery.fancybox.getInstance().update();

这应该为您提供一个线索,您可以使用parent.jQuery.fancybox从父页面使用API​​。

然后,API部分应该为您提供如何以编程方式打开图库的线索:

$.fancybox.open([
    {
        src  : '1_b.jpg',
        opts : {
            caption : 'First caption',
            thumb   : '1_s.jpg'
        }
    },
    {
        src  : '2_b.jpg',
        opts : {
            caption : 'Second caption',
            thumb   : '2_s.jpg'
        }
    }
], {
    loop : false
});

因此,结合这两个片段应该给你答案。

© www.soinside.com 2019 - 2024. All rights reserved.