2012-02-23 82 views
0

我有以下方法呼籲的iframe負荷:奇怪jQuery的iframe的高度顯示

function resizeIframe() {  
    $("#content").css("height", ""); 
    $("#content").css("width", ""); 
    var iFrameHeight = $('iFrame').contents().height(); 
    var iFrameWidth = $('iFrame').contents().width(); 

    $("#content").css("height", iFrameHeight); 
    $("#content").css("width", iFrameWidth); 
} 

當這個被稱爲有很多文字的下方空的空間,以便iframe的高度大約爲1457px。但奇怪的是,當我加警惕這樣的:

function resizeIframe() {  
    $("#content").css("height", ""); 
    $("#content").css("width", ""); 

    var iFrameHeight = $('iFrame').contents().height(); 
    var iFrameWidth = $('iFrame').contents().width(); 

    alert($("#content").height()); <-------------this alert 

    $("#content").css("height", iFrameHeight); 
    $("#content").css("width", iFrameWidth); 
} 

加入此警報它適合於1050px內容大小後。我完全困惑,爲什麼它會這樣做,或者如何解決這個問題。任何幫助表示讚賞。

+0

您可以在答案中包含兩個演示(例如,使用http://jsfiddle.net/)。另外,請從問題標題中刪除錯字。它應該是'怪異的',而不是'Wierd'。更好的是,選擇一個更具描述性的標題。 – 2012-02-23 14:57:13

+0

你什麼時候調用該方法? – 2012-02-23 15:37:08

+0

@KevinB - 下面是它的調用方式:$(document).ready(function(){(「#iFrame」)。load(function(){resizeIframe();}); } – NoviceMe 2012-02-23 15:43:20

回答

0

通常,您需要在父頁面中設置iFrame的大小。如果不這樣做,它將佔用父容器的全部寬度和高度,併爲框架窗口設置此大小。 因此$('iFrame').contents().height()將返回您已知的實際渲染高度。

我不明白你的意圖與這些代碼。

如果你想檢查框架頁面的原始動態大小,這可能很難。我還沒有任何想法。

編輯:您可以使用像這樣的腳本來解決動態尺寸問題。 http://www.dynamicdrive.com/dynamicindex17/iframessi2.htm