Остановить функцию HTML iFrame при загрузке страницы - PullRequest
1 голос
/ 27 мая 2019

У меня есть HTML iFrame, внутри которого есть функция, которую я не хочу запускать, пока сайт не отправит сообщение с помощью window.postMessage () в iFrame.

Мой код iFrame:

<script src="https://js.stripe.com/v3/"></script>

<script>
    const stripe = Stripe('pk_test_XXXXXXXXXXXXXXXXXX');
    window.onmessage = (event) => {
        if (event.data) {
        let jackpotId = event.data.id;
        myFunction(jackpotId);        
    }}

    function myFunction(jackpotId) { //this function runs on page load
    stripe.redirectToCheckout({
            sessionId: jackpotId
        }).then(function (result) {

        });
    }
</script>

Я хочу, чтобы вышеуказанная функция myFunction () выполнялась только тогда, когда на странице запускается следующий код:

let obj = {
    id: response.id
  };
$w("#html2").postMessage(obj);

В настоящее время функция iFrame запускается при загрузке страницы и выдает ошибку в консоли из-за отсутствияID сеанса.

...