0
postMessage経由でドメインメッセージを繰り返し送信しても、私のwindow.addEventListenerの関数が起動されません。それは全く応答を受信していないようです。コードは次のとおりです。html5 postMessage not working
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);
なぜリッスンがメッセージを受け取っていないのですか?
メッセージ送信者(ポップアップ)ではなく、イベントリスナーをターゲットウィンドウに登録してください。 – zakdances
あなたのコードでは、メッセージ送信者はあなたの現在のウィンドウで、 'postMessage'のターゲットはあなたのポップアップウィンドウです。そのため、リスナーはポップアップウィンドウに登録する必要があります。 –
newPopup.postMessage()はメッセージがnewPopupからポストされていることを意味しませんか? – zakdances