【问题标题】:How could hosted payment field change parent div class?托管支付字段如何更改父 div 类?
【发布时间】:2016-06-20 17:33:03
【问题描述】:

最近,我正在处理托管付款字段https://www.braintreepayments.com/blog/your-checkout-our-iframes/。当我输入错误时,容器 div 的类已更改,这是如何工作的?我认为没有办法用不同的域调用父级?

输入错误的代码。(class : "braintree-hosted-fields-invalid")

    <div class="form-control braintree-hosted-fields-invalid" id="hosted-fields-number">
        <iframe src="https://assets.braintreegateway.com/hosted-fields/2.15.5/hosted-fields-frame.html#5c7db060-9271-4eac-b4a2-0f405d743293" frameborder="0" allowtransparency="true" scrolling="no" type="number" name="braintree-hosted-field-number" id="braintree-hosted-field-number" style="border: none; width: 100%; height: 100%; float: left;">
        </iframe>
    <div style="clear: both;">

【问题讨论】:

  • 天哪!它们在框架本身而不是在父框架中进行验证。
  • thx..可能是我的英语不好..我知道验证在框架中,但是 id 为“hosted-fields-number”的 div 已更改..我会尝试检查网络消息的事情..
  • 那么那个 div 是在你的父页面还是框架中?
  • 在父页面中。虽然js文件被压缩,但我发现它正在发布一些消息。所以我认为 T.J.Crowder 是对的。

标签: javascript iframe cross-domain


【解决方案1】:

他们大概在使用web messaging,这是专门为提供跨域通信而设计的。因此,他们在父页面上运行的脚本会侦听来自 iframe 中运行的脚本的消息,并通过更新字段上的类来响应这些消息。

【讨论】:

    猜你喜欢
    • 2018-10-15
    • 1970-01-01
    • 2019-02-21
    • 2018-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-23
    • 1970-01-01
    相关资源
    最近更新 更多