调整iframe大小以在每次更改内容时包装内容src

时间:2016-04-21 12:31:09

标签: javascript jquery html iframe

我设法调整iframe的大小,用这段代码包装其内容:

var frameHeight = document.getElementById("fibertjekIframe").contentWindow.document.body.scrollHeight;
$(this).height(frameHeight);

第一次加载页面时效果很好,但在iframe内部是一个表单,当用户提交表单时,他会被重定向到该iframe中的另一个页面。我希望iframe也可以根据其内容调整大小。

我希望这会奏效:

// Auto resize of the Fibertjek Iframe
$("#fibertjekIframe").on("load", function () {
    var frameHeight = document.getElementById("fibertjekIframe").contentWindow.document.body.scrollHeight;
    $(this).height(frameHeight);
});

每次在iframe中加载新的src时都会调用该函数但由于某种原因我得到了iframe的旧高度,所以它保持不变。

编辑:我已经调查了一点,我发现即使在表单提交(在iframe中)和重定向之后,iframe的src属性保持不变所以我假设它仍然指的是旧页面,即使它已被重定向。唯一的想法是如何克服我已经得到的,是将iframe的源设置为我在表单提交后重定向到的页面,但这不方便正确的解决方案...

1 个答案:

答案 0 :(得分:0)

我建议您使用iframe-resizer,它可以满足您的需求:https://github.com/davidjbradshaw/iframe-resizer