Использование postMessage в перезагруженном iframe не работает - PullRequest
0 голосов
/ 04 апреля 2020

У меня есть iframe с простой формой (предоставляется сторонним поставщиком). Содержимое iframe перезагружается после отправки формы со страницей подтверждения. На этой странице я попросил провайдера добавить этот скрипт:

<script type="text/javascript">
    window.setTimeout(function(){
        window.parent.postMessage('mailing_list_confirmation','http://originURL.com/');
    },100) </script>

У меня в верхнем окне:

<script>
    jQuery(function($) {
    $(window).on('mailing_list_confirmation',function(){
          console.log("iframe_message");
       });
    });
</script>

Ничего сложного. Я пробовал также с простой JS. Я попробовал это на моем локальном хосте (2 разных домена), и это работало хорошо. Разница была в том, что изначально был загружен iframe. В этом случае содержание iframe является новой страницей. Есть ли другая причина, по которой это может не сработать?

1 Ответ

0 голосов
/ 04 апреля 2020

Это должно сработать, проверьте домен, на который вы отправляете сообщения, это то, что вы думаете, а не www.originaldomain.com.

...