微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – window.postMessage无法从iframe工作到父文档

我正在尝试使用window.postMessage API将子文档(iframe)中的简单消息发送回其直接父级.

在父文档中,我有以下内容

window.addEventListener("message",receiveMessage,true);
var receiveMessage = function(event) {
    console.log("Recieved event " + JSON.stringify(event));
}

然后,在iframe我有以下内容

window.parent.postMessage('message','*');

基于我读过的所有内容,这应该可以工作,我的日志消息应该写入控制台.除了它没有工作.

我知道使用*作为targetorigin并不总是安全的,但是在这一点上我只想弄清楚这种联系.

我缺少任何想法或任何明显的想法?

解决方法

确保在将回调函数传递给addEventListener方法之前声明了回调函数receiveMessage().

这是您修改后的父脚本:

var receiveMessage = function(event) {
    console.log("Recieved event " + JSON.stringify(event));
}
window.addEventListener("message",true);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐