如何调整IFRAME的大小?

时间:2011-10-14 05:54:37

标签: javascript iframe

我需要调整跨域iframe的大小以适应内容。所以在parent.html中我写这个:

$(function () {
    $('iframe').load(function () {
        var h = null;
        if (!h) {
            if (location.hash.match(/^#h(\d+)/)) {
                h = RegExp.$1;
                $(this).css({
                    'height': h + 'px'
                })
                location.hash = ''
            }

        }
    })
})

并在child.html中写道:

$(function () {
    h = 0
    h = $(document).height()
    console.log(h)
    if (top != self) {
        top.location.replace("http://parentdomain.com/#h" + h);
    }
})

加载一次后效果很好,但如果我点击iframe中的链接,内容更改变量h仍然具有第一个值。如果我在新窗口中打开child.html var h将会更改,但不会更改为iframe。

可以修复吗?

1 个答案:

答案 0 :(得分:0)

实际上不会再调用resize动作。

如果单击iFrame中的链接,则应调用父级的函数,或者观看仅在更新的浏览器上支持的haschange事件。