当我使用jQuery事件监听器处理消息事件时,如下所示:
$(window).on('message', function(e) {
var data = e.data; // data = undefined
});
数据未定义!我确信我已经将数据传递给了当前窗口。因为如果我使用"addEventListener",一切都会很顺利!
那么,问题出在哪里呢?
发布于 2012-03-28 17:22:11
jQuery可能正在预处理事件的data
属性,并且此操作可能(目前)不能正确支持message
事件。
尝试使用originalEvent
属性获取数据:
$(window).on("message", function(e) {
var data = e.originalEvent.data; // Should work.
});
发布于 2014-09-14 17:20:05
一些浏览器使用"onmessage“事件。我建议对前面的答案进行一点改进,以提高兼容性:
$(window).on("message onmessage", function(e) {
var data = e.originalEvent.data;
});
https://stackoverflow.com/questions/9904490
复制相似问题