收到响应后捕获iFrame的响应

时间:2015-04-01 11:26:54

标签: javascript iframe

我正在向iFrame发帖子。 iFrame以布尔值的形式返回响应。当响应从iFrame到达父窗口时,我需要捕获响应。我的代码不起作用。对此有何想法?

的iFrame

<iframe id="opIFrame"  src="https://localhost:9443/oauth2/session" >

</iframe>

我定期向iFrame发送消息

var iframe = document.getElementById("opIFrame");

    setInterval(function(){

        message ='test' ;
        console.log('Request From RP: ' + message);

        iframe.contentWindow.postMessage(message,"https://localhost:9443/oauth2/session"); 

    },6000);

我需要做的是定期收到iFrame的回复。到目前为止,代码正在运行。我为iframe添加了一个eventlistener,如下所示。

 iframe.addEventListener("message",test,false);
    function test(event){
        alert("test");
    }

但它没有定期开火

1 个答案:

答案 0 :(得分:0)

实际上非常简单:您在iframe上添加了监听器(作为父窗口的DOM的元素),而不是在iframe的窗口中。只需解决此问题就可以了:

iframe.contentWindow.addEventListener("message",test,false);