Cross domain iframe postMessage не работает

287
10 января 2018, 20:00

Нужно во встроенный iframe отправить сообщение. На родительской странице делаю так:

<div id="widget_chat"></div>
<div id="chat_close"></div>

 

(function() {
  $('#widget_chat').html('<iframe id="widget_iframe" src="//host/chat/widget.html" scrolling="no" frameBorder="0"></iframe>')
  $(document).on('click', '#chat_close', function () {
    let iframeEl = document.getElementById('widget_iframe')
    let msg = 'msg'
    frameEl.contentWindow.postMessage(msg, '*')
  })
})();

На принимающей стороне:

$(window).on("message onmessage", function(evt) {
  $('messageContainer').empty();
})

либо

if (window.addEventListener) {
  window.addEventListener("message", showConsole);
} else {
  window.attachEvent("onmessage", showConsole);
}

В функции showConsole очистка div, alert и console.log. В итоге никакой реакции. Сделал вот так:

console.log(frameEl.contentWindow.postMessage(msg, '*')

Возвращает undefined, хотя у объекта frameEl.contentWindow есть метод postMessage.

Как можно отследить, на какой стороне проблемы? Или, может, где-то ошибка? Ошибок в консоли нет.

READ ALSO
missing control folder

missing control folder

Мы создаем приложение через платформу BuildfireПытаемся через панель девелопера загрузить плагины - пишет:

257
Разбивка выведенных элементов на блоки

Разбивка выведенных элементов на блоки

Всем приветПомогите пожалуйста разобраться с сортировкой элементов по категориям

239
Slick slider нужна помощь?

Slick slider нужна помощь?

Ребят, есть вот такой вертикальный слайдер сделанный на Slick

285
Почему count равно 5?

Почему count равно 5?

Почему count равно 5? Когда card === 2, 3, 4, 5, 6 к count надо прибавить +1 Когда card === 7, 8 , 9 к count = 0 Когда card === 10, 'J', 'Q', 'K', 'A' - count - 1

258