2014-03-28 118 views
0

根據其內容調整iframe高度的大小有很多問題,但如果內容太長並且超出容器高度,該怎麼辦?在這種情況下,我希望容器高度相應地調整大小,如果設置溢出爲隱藏狀態,iframe無需滾動或修剪。我怎樣才能做到這一點?根據iframe中的內容調整iframe及其父高度的大小

+0

你TR是否要在iframe中調整來自JS的iframe的大小或者調整來自包含文檔的iframe的大小? iframe是否包含某個域作爲包含頁面? – jfriend00

+0

我試圖根據iframe的內容來調整iframe和容器的大小,使用js。他們不在同一個域中。 – user2911374

+0

你是試圖從iframe中的JS還是從包含的文檔中的JS來做?換句話說,你試圖從這裏做的javascript在哪裏? – jfriend00

回答

1

由於您的文檔和iframe是不同的域,因此一個javascript無法直接訪問另一個的DOM(請參閱same-origin security restrictions)。這意味着您無法直接訪問iframe的DOM,以瞭解它的大小,以便您可以在包含的文檔中將iframe大小設置爲該大小。

您爲此所做的任何選項都需要在iframe中進行一些代碼控制。例如,您可以在兩個iframe之間支持window.postMessage(),並且包含文檔可以通過window.postMessage()詢問iframe有多大,並在接收到響應時可以更改iframe的大小。

各種參考文獻:

cross-domain iframe resizer?

http://css-tricks.com/cross-domain-iframe-resizing/

Cross-domain, cross-browser Iframe communcation, made easy!

Yet Another cross-domain iframe resize Q&A

https://github.com/davidjbradshaw/iframe-resizer

+0

添加了引用。 – jfriend00

+0

非常感謝jfriend00。它有幫助。我還有一個關於在容器頂部放置iframe溢出的問題,但因爲它與這個問題無關,所以我只是標記了你的答案,併爲此打開了另一個問題。 – user2911374

+0

如果你問我,應該用一個真正簡單的設置將它添加到HTML/CSS標準中,比如'framewrap:vertical;'響應文本可以高或低: - / –