Safari中使用Braintree和Paypal的内容安全策略

时间:2016-06-10 01:40:01

标签: paypal safari braintree content-security-policy

我正在使用Braintree Drop-In控制台,我刚刚遇到内容安全策略问题,主要是在Safari浏览器中,它会返回以下错误,从而导致客户端脚本问题。单击PayPal按钮时会出现这些错误,这会产生一个弹出窗口,一旦弹出窗口关闭就会再次返回页面。

[Error] Blocked a frame with origin "https://checkout.paypal.com" from accessing a frame with origin "https://assets.braintreegateway.com". Protocols, domains, and ports must match.

[Error] Blocked a frame with origin "https://www.paypal.com" from accessing a frame with origin "https://assets.braintreegateway.com". Protocols, domains, and ports must match.

我被建议在设置方法中启用 enableCORS ,该方法无效。还建议修改页面策略中的某些指令,但是我不会在我的页面中包含CSP,所以我不认为这会产生任何影响。 即https://developers.braintreepayments.com/reference/client-reference/javascript/v2/best-practices#using-braintree.js-with-a-content-security-policy

我确实尝试添加了一些元标记,但是它导致了比以前更多的错误,所以我删除了它们。

有没有人遇到过这个问题,可以建议或提供一个如何解决这个问题的例子?只有Safari才会遇到问题,因为它对此很敏感。

1 个答案:

答案 0 :(得分:1)

Safari中的这些错误基本上都是装饰性的 - 不应该影响处理。

我的问题是由于我遇到的safari中的jquery ajax超时问题 async设置为false。 Braintree的响应在生产中花费了超过10秒来返回响应,因此Safari会超时。

Failed to load resource: Request timed out on Safari