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

Content Security Policy with Braintree and Paypal in Safari

我正在使用 Braintree Drop-In 控制台,我最近主要在 Safari 浏览器中遇到内容安全策略问题,它 return 出现以下错误,结果导致客户端脚本问题.单击 PayPal 按钮时会出现这些错误,这会产生一个弹出窗口 window,一旦弹出窗口 window 关闭,return 详细信息将返回页面。

[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 遇到问题,因为它对此很敏感。

基本上,Safari 中的这些错误本质上是装饰性的——处理不应受到影响。

我的问题是由于我在 safari 中遇到的 jquery ajax 超时问题 async 设置为 false。 Braintree 响应在生产中需要超过 10 秒才能得到 return 响应,因此 Safari 会超时。

Failed to load resource: Request timed out on Safari