angular - 无法使用 Stripe 支付模块在“DOMWindow”上执行“postMessage”
问题描述
我在我的 Angular 应用程序中集成了 Stripe 支付模块。当我运行该应用程序时,它会显示以下错误。
Failed to execute 'postMessage' on 'DOMWindow': The target origin provided ('https://js.stripe.com') does not match the recipient window's origin ('http://localhost:4200').
有什么解决办法吗?
解决方案
结果是用于输入卡号、CVC 和到期时间的占位符没有出现在我们的 Web 应用程序上。尽管对https://js.stripe.com的调用返回了 200,但网络查询显示它处于待处理状态。(有趣且可能相关的是,对 Intercom 的 API 调用也将返回 200 待处理)
浏览器:该问题仅发生在 Chrome 67 上(Firefox 60 和 Safari 11 - 都在 Mac High Safari 上 - 工作正常)
- 关闭所有 Chrome 扩展 - cc 占位符仍然没有出现
- 关闭并重新启动 Chrome - 他们出现了。万岁!
- 重新启动的扩展 - browserstack、react、redux - cc goodies 仍然出现
- 关闭并重新启动 Chrome - cc 好东西仍然可见。
鉴于我多年来一直在使用带有上述扩展程序的 Chrome,而这不是问题,重新启动 Chrome 似乎更有可能解决它。时间会证明一切。
推荐阅读
- c# - 如何使用 Blazor 和 KeyBoardEventArgs 禁止发送键
- python - 将绘图标记从连续转换为离散
- php - Laravel:如何显示数据库中的数组数据
- php - 是否有在您离开网站时会删除 cookie 的扩展程序?
- python - 如何让 discord.py 机器人在我的语音聊天中播放音乐?
- django - 在定义了 `app_name` 时在 {% url %} 中使用变量
- reactjs - 检查另一个输入时如何根据一个输入更改值?反应钩子
- wpf - 制作图表应用程序
- vue.js - 无法混合 Laravel Vue
- spring-boot - 为什么在实体上同时使用@AllArgsConstructor 和@NoArgsConstructor?