Нужно во встроенный 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.
Как можно отследить, на какой стороне проблемы? Или, может, где-то ошибка? Ошибок в консоли нет.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости