【问题标题】:Send a message from an iframe on the main page从主页上的 iframe 发送消息
【发布时间】:2017-06-11 17:18:03
【问题描述】:

我从这个文档中看到:https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage,将数据正确传递给 iframe 的方法。但现在我想发送一个答案:

//from main page
myIframe.contentWindow.postMessage('send me a response', '*');
//from iframe of main page
window.addEventListener("message", receiveMessage, false);
    function receiveMessage(event){
          alert(event.data);//the value of message
          //now i need to send an answer 'this is a response'
    }
}

如何从 iframe 向主页发送答案? 我真的需要这个答案。

编辑:

好的,我完全找到了解决方案。

【问题讨论】:

    标签: javascript iframe message addeventlistener postmessage


    【解决方案1】:

    您可以访问全局window.parent 上的父窗口。

    我相信在这一点上使用这个对象的方法来发布消息就像使用这个对象的方法一样简单。所以像:

    var parent = window.parent;
    parent.postMessage("some message");
    

    可以在here找到一个完整的例子。

    要点是 window.parent.postMessage() 函数采用以下参数:otherWindow.postMessage(message, targetOrigin, [transfer]);

    【讨论】:

    • 我了解您建议我反向使用相同的消息,但看看我的回答,它是“未定义”:但显然它有效
    【解决方案2】:

    我会考虑使用 easyXDM

    EasyXDM WebSite

    【讨论】:

    • 我更喜欢不使用套接字的方法,但是如果我有其他需要,这将是一个很好的解决方案,但就我而言,我不能使用此解决方案。
    • 我明白了。因此,如果页面和 iFrame 在同一个域中,Maxwell 的答案应该可以解决问题!
    猜你喜欢
    • 1970-01-01
    • 2020-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多