0
La fonction de mon window.addEventListener ne se déclenche pas même lorsque j'envoie à plusieurs reprises les messages de domaine via postMessage. Il semble qu'il ne reçoive aucune réponse du tout. Voici le code:html5 postMessage ne fonctionne pas
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);
Pourquoi l'auditeur ne capte-t-il jamais les messages?
L'eventlistener ne doit-il pas être enregistré dans la fenêtre cible, pas dans l'expéditeur du message (le popup)? – zakdances
Dans votre code, l'expéditeur du message est votre fenêtre actuelle et la cible de 'postMessage' est votre fenêtre contextuelle. Donc, l'auditeur devrait très probablement être enregistré dans la fenêtre contextuelle. –
Est-ce que newPopup.postMessage() ne signifie pas que le message est en cours de publication FROM newPopup? – zakdances