Передать функцию по сокетам из iframe в конструктор сайта
Всем привет!
Есть трудность с передачей функции из iframe на сайт конструктора tilda. Бьюсь уже довольно долго с этой задачей. По сокетам отправляю alert или window.open, и это срабатывает. А передать функцию не удается.
- Куда нужно смотреть, подскажите? Гуглил, пробовал разные методы, но как-то не дало результатов.
- Может в tilda дело?
- Был ли опыт такого, какие решения могут помочь?
Ответы (1 шт):
Автор решения: O K
Страница 2: index.html
→ Ссылка
Вот решение, которое работает с разных доменов, по https. Спасибо Grundy за подсказку. Получилась!
Страница 1: iframe.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Айфрэйм с кнопкой, и сообщением для родителя</title>
</head>
<body>
<script>
function iframe_popup() {
window.top.postMessage('soobshenie', '*')
}
</script>
<input type="button" onclick="iframe_popup()" value="Кнопка!">
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Страница со слушателем из айфрэма</title>
</head>
<body>
<iframe src="./iframe.html"></iframe>
<script>
window.onmessage = function(event) {
if (event.data == 'soobshenie') {
alert('Сообщение прослушано!');
}
};
</script>
</body>
</html>