0
即使我通過postMessage重複發送域消息,我的window.addEventListener函數也沒有被激發。似乎它沒有收到任何迴應。這裏是代碼:html5 postMessage不工作
var myUrl = 'http://localhost:8085';
var newPopup = window.open(myUrl, '_blank', '');
// Create listener
window.addEventListener('message',function(event) {
if (event.origin !== 'http://localhost:8085') return;
console.log('received response: ',event.data);
},false);
// Setup messenging
setInterval(function(){
var message = 'Hello! The time is: ' + (new Date().getTime());
console.log('blog.local: sending message: ' + message);
newPopup.postMessage(message,'http://localhost:8085');
},2000);
爲什麼聽衆不接收消息?
不應將eventlistener註冊到目標窗口,而不是消息發送者(彈出窗口)? – zakdances
在你的代碼中,消息發送者是你當前的窗口,'postMessage'的目標是你的彈出窗口。所以聽者應該很可能在彈出窗口中註冊。 –
不是newPopup.postMessage()表示消息是從newPopup發佈的? – zakdances