我正在向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");
}
但它没有定期开火
答案 0 :(得分:0)
实际上非常简单:您在iframe上添加了监听器(作为父窗口的DOM的元素),而不是在iframe的窗口中。只需解决此问题就可以了:
iframe.contentWindow.addEventListener("message",test,false);