【发布时间】:2021-10-01 11:51:22
【问题描述】:
我们在 Blazor WebAssembly 应用程序中遇到问题,该应用程序使用 PayPal 按钮让用户将资金添加到系统的钱包中。 这个问题是随机的,有时弹出窗口在打开后立即关闭,甚至不允许用户登录到贝宝继续结帐过程。
这是js文件:https://github.com/efonsecab/FairPlayTube/blob/main/src/FairPlayTubeSln/FairPlayTube.Client/wwwroot/js/paypal/paypal.js 这是调用 js 来呈现按钮的 Blazor 组件 https://github.com/efonsecab/FairPlayTube/tree/main/src/FairPlayTubeSln/FairPlayTube.Client/CustomComponents/Paypal
它在开发中经常发生,但在产品中却没有那么多。
这是控制台中显示的错误: 10000 毫秒内https://www.sandbox.paypal.com 中的 postMessage wn() 没有 ack
问题是有时一切都在第一次尝试时成功,但其他人则显示这一点。
有什么办法解决吗?
【问题讨论】:
-
最后的
Render调用是否修改了<div id="smart-button-container">的html?我问这个是因为当你在 Blazor 中重新渲染时,你可能会覆盖所做的任何事情。尝试添加一个固定密钥,例如<div id="smart-button-container" @key="1">以便 Blazor 在重新渲染时不会重新创建 div。 -
问题是关于单击按钮时的弹出窗口,而不是它们的页面容器
-
@PrestonPHX 感谢您的意见 - 也许您可以根据您对 paypal JS 工作原理的经验回答我的第一个问题?
-
这是我在随机问题发生时收到的消息 No ack for postMessage wn() in sandbox.paypal.com in 10000ms
标签: .net-core paypal blazor .net-5 blazor-webassembly