在一个已经与 Apple Pay 集成的网站上工作了大约一年,没有出现任何问题。我们注意到,现在仅适用于 iOS 13 设备。iOS 12 及以下版本均按预期工作。
前端点击处理程序:
<div class="btn btn-apple">
<div class="apple-pay-button apple-pay-button-white" lang="en" data-bind="click: intializeApplePaySession"></div>
</div>
Run Code Online (Sandbox Code Playgroud)
JS 点击处理程序:
self.intializeApplePaySession = function() {
new RestClient(RestClient.POST, "/rest/model/someController", {},
//Success
function(data, textStatus, jqXHR) {
var session = new ApplePaySession(3,data.applePayPaymentRequest);
initializeCallbacks(session);
session.begin();
},
...
Run Code Online (Sandbox Code Playgroud)
“必须从用户手势处理程序创建一个新的 ApplePaySession。” 总是被扔到
var session = new ApplePaySession(3,data.applePayPaymentRequest);
适用于所有 iOS 13 设备。iOS 12 及更低版本可以使用相同的代码正常工作。
从我的调试中我可以看到正在处理的事件是一个 MouseEvent,这对我来说很有意义。关于为什么会抛出这个有什么想法吗?