我有两个来自同一个域的 iframe,它们托管在另一个域的文档中。问题是这些 iframe 无法通过 postMessage 相互通信。我什至无法从 iframe2 访问 iframe1 的 DOM,即使它们属于同一个域。有什么解决办法吗???
我使用以下选项来引用所需的 iframe。
parent.frame[x]
我尝试了以下几行来访问 iframe 的 DOM
parent.frame[x].contentWindow returns null,
parent.frame[x].document.getElementsByTagName("body") returns null
更新:
我想我的问题还不够清楚。postMessage api没有问题,实际问题是浏览器围绕iframe文档创建了一个自定义框架集,就我而言!
所以parent.frame[x]
不会指向 iframe 窗口,而是指向 iframe 窗口内的自定义框架集。
以下问题很好地解释了这个问题。