2

我展示了一个带有fancybox的iframe。在 iframe 的 HTML 中,我这样做:

<body style="width: 650px; height: 430px;">

然后在 JS 中我执行以下操作:

$(".popup").fancybox({
    padding : 0,
    closeBtn : false,
    autoSize  : true,
    fitToView : false,    
    beforeShow: function()
    {
        this.width = ($("iframe").contents().find("body").width());
        this.height = ($("iframe").contents().find("body").height());
    }
});

其中“.popup”是:

<a href="url.php" class="popup" data-fancybox-type="iframe">

如果在那个 iframe 中我加载了另一个不同尺寸的 HTML(比如 400x150),fancybox 会调整它的高度而不是宽度。

任何帮助将不胜感激!

编辑 1

我第一次运行花哨的盒子时,“.fancybox-inner” div 的样式是这样的

width: 650px; height: 430px;

然后,当我在 iframe 中导航时,“.fancybox-inner” div 的样式如下

width: 650px; height: 150px;

但是第二个 HTML body 标签是这样的

<body style="width: 400px; height: 150px;">

编辑2:

此答案中链接的此解决方案的评论表明我这仅适用于高度

4

1 回答 1

4

好的,我最终使用了 fancybox 版本:2.1.4(2013 年 1 月 10 日,星期四)

在第 1231 行,你会发现

origHeight = body.height();

之后添加这个

origWidth = body.width();

自动调整高度和

于 2013-01-30T18:44:17.657 回答