【发布时间】:2018-01-16 18:29:56
【问题描述】:
我看到的问题是,当您使用他们的规范“自定义”指南将Stripe Checkout 加载到页面中,对其进行配置,然后打开和关闭它几次时,浏览器内存使用量会不断跳跃。有时,有点被释放了,但残留物总是在增长。在长期存在的页面/SPA 上,最终会出现爬网现象。
- 使用
--enable-precise-memory-info标志启动 Google Chrome(有或没有此标志都会出现问题) - 复制他们网站上的“自定义”示例:https://stripe.com/docs/checkout#integration-custom(或使用您自己的设置,结果相同)。
- 点击“购买”按钮(或触发您的
stripeInstance.open(cfg)),摆弄弹出窗口,关闭。 - 重复第 3 步,逐渐观察记忆 ????
您可以使用 memory-stats.js 或仅在 (Chrome) 控制台中运行来查看内存:
performance.memory.usedJSHeapSize
我确信这必须是“我”而不是 Stripe。他们不可能在open 和close 事件上泄漏这么严重,对吧?
编辑:这是一个 JS fiddle,它从字面上复制了他们的演示代码:https://jsfiddle.net/p1Lfuewt/
还有一个 5 秒间隔的内存屏幕截图,基本上只是通过单击“购买”来打开和关闭它们的小部件(不知道承诺错误是什么,就是它们):
【问题讨论】:
-
你能在这个问题上加入一个 jsfiddle 吗?这样调试会更容易。
-
@kichik 这是小提琴jsfiddle.net/p1Lfuewt
标签: javascript google-chrome memory-leaks stripe-payments