2016-06-10 98 views
2

我正在使用Braintree Drop-In控制台,我最近遇到内容安全策略问题,主要是在Safari浏览器中返回以下错误并导致客户端脚本问题。当点击PayPal按钮时会出现这些错误,这会产生一个弹出窗口,并在弹出窗口关闭后再次返回到页面。在Safari中使用Braintree和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,所以我不认为这会起到任何作用。 ie https://developers.braintreepayments.com/reference/client-reference/javascript/v2/best-practices#using-braintree.js-with-a-content-security-policy

我曾尝试添加一些meta标签,但它导致比以前更多的错误,所以我删除了它们。

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

回答

1

基本上,Safari中的这些错误基本上是美容 - 处理不应该受到影响。

我的问题是由于在safari中我有一个jQuery的ajax超时问题,我有 async设置为false。布兰特里的回应在生产中需要超过10秒才能返回响应,因此Safari会超时。

Failed to load resource: Request timed out on Safari