У меня есть 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 сеанса.