2012-10-12 18 views
0

我有一個頁面可以動態地將頁面加載到iframe中。 我在網上發現了腳本,它根據內容的高度調整iframe的高度。
但是,如果內容頁面(正常)框架本身不起作用。獲取iframe中的所有幀/檢查iframes內容是否有幀

現在我想檢查內容頁面是否有幀,或者甚至更好地訪問它們,以便我可以計算它們的長度,然後從子幀中選擇最長的值作爲我的iframe的長度。

請不用JQuery幫忙。 只是普通的老Javascript。 :-)

謝謝

+0

爲什麼不能使用JQuery? –

+6

@BradGilbert爲什麼我必須使用它?有時過度使用只能用於功能的框架 –

+0

如果你說你不能使用某些東西,那麼原因應該在這個問題上。還據我所知,JQuery是一個很好的API,「只是普通的舊Javascript」。 –

回答

3

您可以訪問窗口對象的frames屬性。它是一個包含當前文檔中所有框架的數組。

// suppose a max of 1 frame each inner frame 
function getInnerFrame(win) { 
    win = win || window; 
    if (win.frames.length > 0) 
     return getInnerFrame(win.frames[0]); 
    else 
     return win; 
} 

編輯:糾正一個非常愚蠢的錯誤

1

您是否嘗試過

window.document.frames.length 

如果長度大於0,那麼你可以使用

window.document.frames[i] 

您可以訪問框架對任何窗口對象執行此操作,如下所示

window.document.frames[i].document.frames[j] 

這會給你第i-1幀內的第j幀,假設它們存在。

-Rohan

+0

這不適合我,'document.frames'是'undefined'。 – Qwerty