jQuery不支持postmessage事件?

当我使用jQuery事件侦听器来处理消息事件,如下所示:

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

数据是不确定的! 我确定我已经将数据传递给当前窗口。 因为如果我使用“addEventListener”,一切顺利!

所以有什么问题?

jQuery可能会预处理事件的data属性,而且这个操作可能不能正确地支持message事件(还)。

尝试使用originalEvent属性来获取您的数据:

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

一些浏览器使用“onmessage”事件。 我build议对以前增加兼容性的答案进行一点改进:

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