jQuery ne supporte-t-il pas l’événement post-message?

Lorsque j’utilise un écouteur d’événement jQuery pour gérer un événement de message, comme ci-dessous:

$(window).on('message', function(e) { var data = e.data; // data = undefined }); 

les données sont indéfinies! Je suis sûr que j’ai transmis des données à la fenêtre actuelle. Parce que si j’utilise “addEventListener”, tout se passe bien!

Donc quel est le problème?

Il est possible que jQuery traite préalablement la propriété data l’événement et que cette opération ne prenne pas encore en charge l’événement de message .

Essayez d’utiliser la propriété originalEvent pour récupérer vos données:

 $(window).on("message", function(e) { var data = e.originalEvent.data; // Should work. }); 

Certains navigateurs utilisent l’événement “onmessage”. Je suggère une petite amélioration à la réponse précédente pour une compatibilité accrue:

 $(window).on("message onmessage", function(e) { var data = e.originalEvent.data; });