2016-06-16 10 views
0

私はStripeのものと同様の埋め込みフォームを作成しています。JSストライプの埋め込みフォーム(CROSS BROWSER)のようにiframe自体のiframeを閉じる

ここにデモコードがあります。ストライプの "クローズモーダル"(X)ボタン、実際には全体のiframeを閉じて、残っているWebページはまだ動作することができますどのように私は理解したい

https://jsfiddle.net/sq5zs5rq/3/

<form action="/charge" method="POST"> 
 
    <script 
 
    src="https://checkout.stripe.com/checkout.js" class="stripe-button" 
 
    data-key="pk_test_6pRNASCoBOKtIshFeQd4XMUh" 
 
    data-amount="2000" 
 
    data-name="Stripe.com" 
 
    data-description="2 widgets" 
 
    data-image="/img/documentation/checkout/marketplace.png" 
 
    data-locale="auto"> 
 
    </script> 
 
</form> 
 

 
<h5>This button still works after close iframe within iframe.</h5> 
 
<button onclick="alert('hi');">Alert</button>

、。

私はこれを調べましたが、クロスブラウザでは動作しません。 Close iframe cross domain

iframe本体(表示:なし)も作成しようとしましたが、ページを更新しない限りウェブサイト全体が機能しません。

誰かが説明したり、解決策を提示できますか?

答えて

1

postMessage APIを使用して、iframeウィンドウと親ウィンドウ間の通信を行うことができます。

両方のウィンドウでコードを制御するので、これは実現可能です

+0

私はpostMessageAPIドキュメントを調べています。あなたの参考に感謝します。 – Yumiko

+0

今、私はここで立ち往生した。 ''DOMWindow'で 'postMessage'を実行できませんでした: 'http://.0.0.0.0:8888'で提供されたターゲットの起点が、受信者ウィンドウの起点( 'http://.0.0.0.0:8000' )」 – Yumiko

関連する問題