【发布时间】:2017-04-20 20:11:29
【问题描述】:
我在从父窗口与子 iFrame 通信时遇到问题。但另一方面,一切都很完美。 以下是我获取 chil iFrame 对象以触发 postMessage 函数的方法:
var iFrame = document.getElementById('Frame').contentWindow;
当我在控制台中打印它时,我得到以下信息:
Window {parent: Window, opener: null, top: Window, length: 0, frames: Window…}
当我进行 postMessage 功能如下:
iFrame.postMessage("message", "http://contoso.com");
加载页面时显示错误:iFrame.postMessage 不是函数。 当我在控制台中执行 postMessage 时,我得到一个 undefined
我做错了什么?
【问题讨论】:
-
您仍然需要控制这两个网站。你拥有
contoso.com吗? -
您需要在
contoso.com上设置e.origin,您确定可以编辑该站点吗?上次我检查时,MS 仍然拥有它。 -
我已将我的网站替换为 contoso.com,只是为了发帖。在子 iFrame 的事件侦听器中,e.origin 设置正确。我在操作事件对象之前添加了日志,但它从来没有达到这一点。
-
也许这个答案可能会有所帮助。
标签: javascript iframe postmessage