【问题标题】:Postmessage orgin and data undefinedPostmessage 来源和数据未定义
【发布时间】:2018-05-28 16:05:40
【问题描述】:

我正在尝试使用 postmessage 在父窗口和子 iframe 之间进行通信,它们都位于不同的域中。

对于父窗口我有代码

var otherFrame = document.getElementById("otherFrame").contentWindow;
otherFrame.postMessage("sent'", "https://iframeURL.net");       

对于子 iframe,我有代码

function receiveMessage(event){

    if (event.origin !== "https://parentURL.com")
        return;

    console.log((event.orgin + " " + event.message));
};

window.addEventListener("message", receiveMessage, false);

但是,无论何时执行代码,控制台都会将 event.origin 和 event.message 记录为未定义,即使调用了 receiveMessage 方法。

任何帮助将不胜感激!

【问题讨论】:

  • 如果来源未定义,它不会记录消息....根据您的代码。
  • @Woody 这让事情变得更加混乱。它记录“未定义未定义”

标签: javascript html postmessage


【解决方案1】:

好的,所以这个问题的解决方案非常愚蠢。我在代码中拼错了“origin”,并意识到正确的语法是 event.data,而不是 event.message

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-09-30
    • 2022-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多