我正在使用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遇到了问题,因为它对此很敏感。
基本上,Safari中的这些错误本质上是表面上的-处理不应该受到影响。
我的问题是由于我async
设置为safari中的jquery ajax超时问题所致false
。Braintree响应在生产中花费了10秒钟以上的时间才能返回响应,因此Safari会超时。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句