0
Функция window.addEventListener не срабатывает, даже когда я повторно отправляю сообщения домена через postMessage. Похоже, что он не получает никакого ответа вообще. Вот код: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);
Почему не прослушивает сообщения?
Нельзя ли зарегистрировать событие в целевом окне, а не отправителе сообщения (всплывающее окно)? – zakdances
В вашем коде отправитель сообщения является вашим текущим окном, а целью «postMessage» является ваше всплывающее окно. Таким образом, слушатель, скорее всего, будет зарегистрирован во всплывающем окне. –
Не newPopup.postMessage() означает, что сообщение отправляется из newPopup? – zakdances