2016-04-28 6 views
1

私はページに兄弟のIFrameのセットを持っており、それらの間にpostMessageで通信したいと思います。 (それらはすべて同じ起源ですが、親ページはありません)。window.parent.frames ['id']対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 e例外。

他のインテグレーションで以前に使用していた方法を使用しているのを見たので、なぜそれを調べようとしています。

答えて

1

私は疑問に思っている人には、なぜその理由が分かったと思います。このように使用するには、ウィンドウの名前を正しく指定する必要があるようです。

`window.name =未定義の動作

window.name = 'my-frame'

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

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

キャッチされない例外:DOMException