2014-09-19 68 views
0

動態內容我有一個iframe中加載這樣的:動態調整大小的iFrame具有與jQuery或Javascript

<iframe src="http://otherdomain.com/sourceContent.html" id="theIframe" frameborder="0" seamless> 

我需要動態地調整它,從未有任何滾動,裏面的內容可以得到較高的垂直(動態基於用戶點擊的內容)。

我知道你可以在頁面加載時動態調整iframe的大小,但如果iFrame的內容增長呢?

此外,源HTML位於不同的域上。

回答

0

添加到您的部分

<script language="javascript" type="text/javascript"> 
    function resizeIframe(obj) { 
    obj.style.height = obj.contentWindow.document.body.scrollHeight + 'px'; 
    } 
</script> 

,改變你的iframe來此:

<iframe src="http://otherdomain.com/sourceContent.html" id="theIframe" frameborder="0" scrolling="no" seamless onload='javascript:resizeIframe(this);'> 
0

如果你都在談論它動態地根據一些可能在iframe裝載此之後更改上漿可能會很棘手。如果iframe由您控制或來自同一個域,則會更容易,否則根據瀏覽器和正在加載的網站,可能無法保持一致。

內部框架創建各種各樣的安全沙箱,使得頁面不能通信的一個與另一個不同之處通過Post Message(或如果它們是從同一個域,它可以通過普通的JavaScript是可能的。)

在框架內部的某些代碼將需要向外部窗口發送消息,並且必須以這種方式調整大小。如果你控制了兩個,那麼你只需要類似於@Sujit的答案中的JavaScript類似的回答