如何根据元素高度动态调整iframe高度?

时间:2012-02-06 04:39:22

标签: javascript jquery asp.net iframe

我在与父/容器页面相同的域/协议中的iframe中加载aspx网页。 Iframe中的内容有时比iframe本身更高。我不想在我的iframe上显示滚动条。

我需要根据iframe将包含的aspx页面中的包装器“div”标签来调整Iframe的高度。 下面是我为实现这个目的所写的jquery:

$("#TB_window", window.parent.document).height($("body").height() + 50);

'TB_window' - 包含iframe的div。

'body' - iframe中aspx的body元素。

此脚本附加到iframe内容。我从父页面获取TB_window元素。 虽然这在Chrome上运行良好,但TB_window在firefox中崩溃了。 我真的很困惑/失去了为什么会发生这种情况。

任何人都可以就如何更好地处理这种情况提出任何建议吗? 我们将非常感谢您的帮助 感谢

2 个答案:

答案 0 :(得分:2)

您必须在iframe上使用管理某个活动

 <iframe id="iframe" src="xyz" onload="FrameLoad(this);"
  onresize="FrameLoad(this);" scrolling="no" frameborder="0">
  </iframe>


   function FrameLoad(ctrl) {
   var the_height = ctrl.contentWindow.document.body.scrollHeight;
   $(ctrl).height(the_height)
 }

也用于跨浏览器

document.domain = document.location.hostname;

父页面和子页面中的

答案 1 :(得分:0)

如果差异不大,可以添加

overflow:hidden

到css类

这不会调整窗口的大小,但可能就是您要搜索的内容。