2

我在IE8中的一個奇怪的問題在那裏我試圖抓住的東西簡單地做:IE8點與括號標記

window.frames.frames[0].name; // get the name of the inner iFrame object 

沒什麼特別,可是當劇本跑,IE7-8解釋它像這樣:

window.frames.frames.0.name; 

// which in-turn gives the error 
// 'window.frames.frames.0.name' is null or not an object (which is not true) 

爲什麼以及如何轉換這一點,爲什麼不是它甚至不再工作?

如果我在IE8的控制檯中鍵入第一個window.frames.frames[0].name;,它會抓取正確的iFrame。但在IE8什麼解釋(window.frames.frames.0.name;),打字不工作在所有...(奇怪的說:「預期‘;’」,這使得零感哈哈

有誰碰到這樣的問題。 ?

+0

登錄window.frames.frames'的'長度,它是找到你的節點? –

+0

爲什麼'windows.frames.frames'而不是'window.frames'? –

+0

原始的window.frames將會是父窗口本身(奇怪的是)而@KevinB,它會回到0 ......哇這讓我瘋狂! –

回答

1

,在錯誤信息點符號僅僅是瀏覽器使用的字符串,在選擇不當瀏覽器開發者。

The line `window.frames.frames[0].name` does not make sense. 

我希望

window.frames[0].name 

,或者如果它是嵌套幀一幀,如果你把周圍的通話括號

window.frames[0].frames[0].name 
+0

謝謝epas,我知道它絕對沒有意義,幀[0] .frames [0]也無法抓住它...... IE8和iFrames存在固有的錯誤,似乎每個人都與他們有巨大的問題。在加載之前引用它,請參考 –

+0

?大多數人現在都避免使用框架/彈出窗口。 :) – epascarello

1

window.frames是一個數組,不是嗎?你不應該索引的第一幀?

window.frames[0].frames[0].name; 
+0

如果有多個幀,'Window.frames'只是一個數組。在一個單幀頁面中,「Window.frames」返回一個有效的對象。實際上,'Window.frames [0]'失敗。 –

+0

那麼這取決於它應該通過ID(在IE中)和名稱(在其他瀏覽器中)搜索,但不知何故數組索引正在工作......這也給了幾乎相同的結果:/ –

1

是否行得通?像這樣:

(window.frames.frames[0]).name; // get the name of the inner iFrame object 

而且你真的是做參考window.frames.frames[0]並不僅僅是window.frames[0]

還是你的意思是:

window.frames[0].frames[0].name; // get the name of the inner iFrame object