2012-02-06 147 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;

兩個父頁和子頁