Ich bin derzeit Integration von Stripe in eine Website und stieß auf ein Problem mit benutzerdefinierten Checkout-Integration.Benutzerdefinierte Stripe-Checkout-Button funktioniert nicht auf Handy
Ich habe die benutzerdefinierte Integration Anweisungen auf dem Stripe website gefolgt, und es funktioniert gut auf dem Desktop, aber tut leider nichts auf dem Handy.
Ich habe einen Handler in jQuery bekam, die, wenn der Knopf meine Gewohnheit feuert geklickt wird, und es läuft handler.open({…})
, wie pro die docs, aber die folgende JavaScript-Fehler protokolliert:
TypeError: 'undefined' is not an object (evaluating '(s=this.frame).focus') - checkout.js:2:21656
Irgendwelche Ideen?
Bearbeiten: Nach viel herumspielen habe ich festgestellt, dass es nicht in iOS 7 startet, wenn es eine Verzögerung von mehr als 1 Sekunde zum Anruf gibt.
Zum Beispiel sind die folgenden Werke:
setTimeout(function(){stripe_payment();}, 1000);
und die folgenden nicht:
setTimeout(function(){stripe_payment();}, 2000);
In den obigen Beispielen stripe_payment()
Sätze auf und ruft den Handler. Wie bereits erwähnt, kann der selbe Affekt auftreten, wenn der Handler nach einem AJAX-Aufruf aufgerufen wird (was vermutlich zu lange dauert). Es ist auch erwähnenswert, dass sogar eine Verzögerung von 5 Sekunden auf Desktop-Browsern gut funktioniert.
Können Sie den Code anzeigen? –
Ich habe einige zusätzliche Details hinzugefügt @AndreiNemes, irgendwelche Ideen? –