2016-04-28 45 views
1

我在頁面上有一組兄弟IFrame,並且想通過它們之間的postMessage進行通信。 (他們都是在同一個起源,但父頁不是)。window.parent.frames ['id'] vs window.parent.frames [0]

我想從幀中獲取對其他兄弟幀的引用。通過這種方式似乎稱爲window.parent.frames,因爲它在讀取時不會觸發交叉原點錯誤。

理想我想用這種方式:window.parent.frames['someFrameId']然而,對鉻至少,我得到這樣做阻止:

window.parent.frames['frame-id']

VM11236:1未捕獲拋出:DOMException:封閉框架起源「http://myframedomain.com」從訪問跨域框架。(...)

如果我通過指數得到它,而不是,通過一切window.parent.frames循環,它doenst觸發日例外。

我試圖找出原因,因爲我已經看到其他集成使用它的方式,我想以前使用它。

回答

1

對於那些想知道的,我相信我找到了原因。你似乎需要正確地命名你的窗口才能以這種方式使用它。

window.name = 'my-frame'

window.parent.frames['my-frame']

工作

`window.name =未定義;

window.parent.frames['my-frame']

未捕獲拋出:DOMException