所以我一直在環顧所有其他堆棧溢出帖子,並圍繞谷歌關於如何自動設置高度/寬度在iFrame上。我已經經歷了大約15到20個,到目前爲止我還沒有爲我工作過。讓我試着解釋我的情況:調整動態iframe的大小(Chrome的問題)
我在頁面上動態設置iFrame的正文。我需要iFrame自動設置其高度和寬度,以便所有文本都可見。
我需要這個工作在IE(7 & 8),FireFox 3和Chrome。
下面是creap到這一問題的其他問題:
- 我寫在ASP.Net與母版頁(所以身體元素是不可能的)。
- 我需要在每次從服務器回發時設置iFrame的文本。
- 我需要iFrame在瀏覽器調整大小時調整大小。
- 我只能訪問javascript,沒有別的。
我正在寫一切在同一個域,所以這不成問題。
我覺得我現在擁有的只是一個鑽井平臺,隨時都會崩潰。它在IE中顯示正確,但在FireFox中有一個巨大的底部邊距,並且在Chrome中根本不顯示(doc始終爲空)。
這是(我試圖將盡可能詳細,讓我知道如果我需要更多地解釋):
<script type="text/javascript">
function WriteIFrame()
{
// get the text i need to put in the iFrame (this is set from the server)
var iFrameContent = document.getElementById("<%= hiddenIFrameContent.ClientID %>").value;
var iFrameContainer = document.getElementById("divIFrameContainer");
// create the new iFrame object
var iFrame = document.createElement("iframe");
iFrame.setAttribute("id", "myIFrame");
iFrame.setAttribute("scrolling", "no");
iFrame.setAttribute("frameborder", "0");
// add the new iFrame object to the container div
iFrameContainer.appendChild(iFrame);
// find the correct inner document of the iFrame
var doc = iFrame.document;
if (doc == null && iFrame.contentDocument)
doc = iFrame.contentDocument;
//
// write the information into the iFrame
if (doc != null)
{
doc.open();
doc.writeln(iFrameContent);
doc.close();
}
// set the proper height
var height = doc.body.scrollHeight + iFrameContainer.offsetTop;
iFrame.setAttribute("style", "width: 100%; height: " + height + "px;");
}
</script>
<div id="divIFrameContainer" oninit="WriteIFrame();">
</div>
<iframe id="HelperIFrame" style="display: none;" onload="WriteIFrame();"></iframe>
<textarea id="hiddenIFrameContent" runat="server" style="display: none;" />
http://www.velocityreviews.com/forums/t647286-iframe-in-ie-and-ff-and-chrome-and-opera.html –
Pandiya,我在網上看到這第一個鏈接,並試圖抓取所有我的東西出來,把這個,我得到了相同的結果。在IE瀏覽器很好,FF有很大的底部空白,Chrome中沒有顯示任何內容。 – Miles