如何检测iframe调整大小?

时间:2009-08-17 08:59:53

标签: javascript jquery iframe resize

有没有办法检测我的iframe内容是否已更改?

我的解决方法是我有一个循环,它不断检查内容的高度它有效但效率不高还有另一种方法吗?

3 个答案:

答案 0 :(得分:5)

由于iframe的内容具有单独的window元素,因此您可以在iframe内的脚本中执行此操作。

$(window).resize(function(){
  var object = $(this)
  // Use `object.height()` and `object.width()`.
});

您还可以使用$("#the_iframe")[0].contentWindow.window(或类似内容)代替window来访问包含iframe的范围内iframe的window对象。

答案 1 :(得分:1)

      setInterval(function() {
                var ifm = document.getElementById("UIMain");
                var h = ifm.contentWindow.document.body.scrollHeight;
                ifm.height = h < 400 ? 400 : h;
          }, 800);

纯javascript是OK.did不需要jquery。

答案 2 :(得分:1)

这解决了问题:

iframe代码:

<body onload="parent.alertsize(document.body.scrollHeight);">

父页面:

<script>
function alertsize(pixels){
 pixels+=32;
document.getElementById('myiframe').style.height=pixels+"px";
}
</script>