2013-11-22 80 views
0

我想建立一個簡單的父窗口和其中包含的iframe之間的postmessage通信。我上了父方驗證碼:父Iframe postMessage通信

var ifr = document.getElementById("ifr"); 

ifr.contentWindow.postMessage('hello child, this is parent', '*'); 

window.addEventListener('message', function (e) { console.log(e.data) }); 

而且在孩子身邊,我有:

window.parent.postMessage('hello parent, this is child', '*') 

window.addEventListener('message', function (e) {console.log(e.data) }); 

我接收的iframe發送的消息,但沒有一個被父母送到了,我已經檢查並且getrame正確地選擇了iframe元素。這僅僅是爲了測試目的而使用其他東西。

+0

將名稱設置爲iframe並使用window.frames將消息發送到iframe [] –

回答

3

當您發送消息到iframe時,它尚未加載。使用「onload」事件啓動與iframe的通信。

ifr.onload = function() { 
    this.contentWindow.postMessage('hello child, this is parent', '*'); 
}; 
相關問題