2015-02-10 118 views
2

我目前正試圖在父頁面中打開的彈出窗口上添加事件偵聽器。JavaScript:在父彈出窗口中添加事件偵聽器

讓我給你多一點解釋:iframe中有一個按鈕。單擊此按鈕時,在調用/保持iframe的父頁面中打開一個彈出窗口。

這裏是我的代碼:

parent.window.open(url, "MyParentWindowPopUp", "width=1000, height=800"); 

有了這行代碼我在父頁面打開彈出窗口。

當窗戶打開我要創建它所以這裏的監聽器是什麼,當我添加一個偵聽非父窗口使用:

if (window.addEventListener) { 
    window.addEventListener('message', <?php echo $_htmlId; ?>_receive_message, false); 
} else if (window.attachEvent) { 
    window.attachEvent('onmessage', <?php echo $_htmlId; ?>_receive_message); 
} 

我怎樣才能改變這種代碼爲工作父彈出窗口?

在此先感謝!

回答

0
var popup = parent.window.open(/**/); 
popup.addEventListener("message", function() { 
    console.log("popup window received message"); 
}); 
popup.postMessage("foo"); 

.open給你一個參考窗口。

2

您可以存儲參考打開的窗口

var popupWindow = parent.window.open(url, "MyParentWindowPopUp", "width=1000, height=800"); 

if (popupWindow.addEventListener) { 
    popupWindow.addEventListener('message', <?php echo $_htmlId; ?>_receive_message, false); 
} else if (popupWindow.attachEvent) { 
    popupWindow.attachEvent('onmessage', <?php echo $_htmlId; ?>_receive_message); 
}