条带:无法在"窗口"上执行'postMessage':未经临时用户激活,不允许委派



在react中使用stripe进行google pay时如果任何后端API花费更多的时间,那么paymentrequest.show()方法将抛出以下错误。在'Window'上执行'postMessage'失败:没有临时用户激活,不允许委托

有人知道吗?

感谢

paymentrequest.show()方法调用,应该在用户手势中调用。在用户手势动作(按钮点击)和调用该方法之间不能有任何延迟。这是为了符合用户UI的期望/体验,即"我点击,然后出现一个视觉效果",同时也是为了保护用户不会在没有明确请求的情况下显示付费按钮。这可能导致安全漏洞。

不幸的是,你需要防止任何处理(也就是API调用)在用户按钮点击和show()函数调用之间增加显著延迟,也许你应该在用户点击Google Pay按钮之前重新设计你的API调用。

最新更新