我在页面上有一组兄弟级IFrames,希望通过postMessage在它们之间进行通信。(它们都位于同一原点,但父页不是)。
我想从一个框架中获得其他兄弟姐妹帧的参考。这样做的方法似乎是调用window.parent.frames,因为它不会在读取时触发跨源错误。
理想情况下,我想以这种方式使用它:然而,window.parent.frames['someFrameId'] (至少在铬上)被阻止这样做:
window.parent.frames['frame-id']
…11236:1未登录的DOMException:阻止具有原点"http://myframedomain.com“的帧访问跨原点帧。(…)
如果我通过索引来获得它,通过循环遍历window.parent.frames中的所有内容,它确实会触发异常。
我试图找出原因,因为我见过其他的集成使用它的方式,我以前想使用它。
发布于 2016-04-29 15:50:16
对于那些想知道的人,我相信我找到了原因。在您看来,您需要正确命名您的窗口才能这样使用它。
window.name = 'my-frame'
window.parent.frames['my-frame']
作品
`window.name =未定;
window.parent.frames['my-frame']
无光DOMException
https://stackoverflow.com/questions/36923839
复制相似问题