2012-02-06 150 views
1

我在与父/容器页面相同的域/协议内的iframe中加载了aspx网页。 Iframe中的内容有时比iframe本身更高。我不想在我的Iframe上显示滚动条。如何根据元素高度动态调整iframe高度?

我需要根据iframe将包含的aspx页面中的包装器'div'标记来调整Iframe的高度。 下面是我写来实现这一目标的jQuery:

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

“TB_window” - 在IFrame所包含股利。

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

此脚本附加到iframe内容。我从父页面获取TB_window元素。 虽然这在Chrome上正常工作,但TB_window在Firefox中崩溃。 我很困惑/为什么会发生这种情况。

任何人都可以提供任何意见,我可以如何处理好情况? 您的帮助将得到高度赞赏 感谢

+0

http://stackoverflow.com/questions/754519/how-does-the-diggbar-dynamically-resize-its-iframes-height-based-on-content-不是 – Neha 2012-02-06 04:50:25

+0

感谢您的答复...看起来像问题是解决如何在完整的父窗口高度显示iframe。在我的情况下,我将其渲染为类似于“模态”窗口,可以在父窗口左右拖动。 – karry 2012-02-06 05:21:29

回答

0

如果差距并不大,你可以添加

overflow:hidden 

的CSS类

这并不改变窗口大小,但可能是你正在寻找。

+0

我已经这么做了......它隐藏了超出iframe边框的任何空白区域,但是当内容越过边框/预设高度时它不会使iframe展开 – karry 2012-02-06 15:36:22

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;

两个父页和子页