Das Problem, das ich sehe, besteht darin, dass Sie Stripe Checkout mithilfe der kanonischen "Benutzerdefiniert" in eine Seite laden "Anleitung, konfigurieren Sie es, und öffnen und schließen Sie es dann ein paar Mal, springt der Browser Speicherverbrauch ständig. Manchmal wird es ein bisschen freigegeben, aber das Residuum wächst immer. Und auf einer langlebigen Seite / SPA kriechen die Dinge schließlich.
--enable-precise-memory-info
flag (das Problem tritt mit oder ohne dieses Flag auf) stripeInstance.open(cfg)
aus), fummeln Sie mit dem Popup, schließen Sie. Kurze Antwort, ja.
Die längere Antwort ist, es scheint so zu sein. Das beigefügte JSFiddle-Beispiel repliziert den Stripe canonical docs , und es ist trivial, das Problem des Speicherausfalls zu replizieren, indem man Stripe's Widget einfach öffnet und schließt.
%Vor%Eine (schreckliche) Umgehungsmöglichkeit, die wir implementiert haben, war das Verfolgen der Anzahl von Öffnen- und Schließen-Ereignissen und das Erzwingen eines harten Neuladens nach X-Ereignissen für Kantenfälle, die diese Ebenen erreichen.
Es ist nicht möglich, das sicher zu wissen, aber sie könnten einige Daten behalten, dass sie niemals freigegeben werden, oder es könnte die JavaScript-Skript-Engine von Chrome sein, die versucht, alles für die Zukunft zwischenzuspeichern. Sie sollten versuchen, die Seite einige Zeit allein zu lassen und zu sehen, ob der Cache-Speicher ausfällt.
Tags und Links javascript memory-leaks google-chrome stripe-payments