JS在iframe中关闭iframe,就像Stripe的嵌入式表单(CROSS BROWSER)

时间:2016-06-16 00:22:54

标签: javascript jquery iframe

我正在构建一个嵌入式表单,类似于Stripe的表单。

这是演示代码。



<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>
&#13;
&#13;
&#13;

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

我想了解,Stripe&#34;关闭模式&#34; (X)按钮,实际上关闭了整个iframe,剩下的网页仍然有用。

我接过了这个,但它不能使用Cross浏览器。 Close iframe cross domain

我还尝试制作iframe主体(显示:无),但除非您刷新页面,否则整个网站都不起作用。

有人可以解释或提供解决方案吗?

1 个答案:

答案 0 :(得分:1)

您可以使用postMessage API在iframe窗口和父窗口之间进行通信。

这是可行的,因为您可以控制两个窗口中的代码