我有一个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而在控制台中显示错误。