JQuery не поддерживает событие postmessage?
Когда я использую jQuery event listener для обработки события сообщения, как показано ниже:
$(window).on('message', function(e) {
var data = e.data; // data = undefined
});
данные undefined! Я уверен, что передал данные в текущее окно. Потому что, если я использую "addEventListener", все будет хорошо!
Итак, в чем проблема?
Ответы
Ответ 1
jQuery может быть предварительно обработать свойство события data
, и эта операция может не поддерживать поддержку события message
(пока).
Попробуйте использовать свойство originalEvent
для извлечения данных:
$(window).on("message", function(e) {
var data = e.originalEvent.data; // Should work.
});
Ответ 2
В некоторых браузерах используется событие onmessage. Я предлагаю немного улучшить предыдущий ответ для повышения совместимости:
$(window).on("message onmessage", function(e) {
var data = e.originalEvent.data;
});