pap*_*boy 9 javascript memory-leaks google-chrome stripe-payments
我看到的问题是,当您使用规范的"自定义"指南将Stripe Checkout加载到页面中,对其进行配置,然后打开和关闭它几次,浏览器内存使用量会不断跳跃.有时,sorta会稍微释放,但残留总是会增长.在一个长期存在的页面/ SPA上,最终会有东西爬行.
--enable-precise-memory-info标记启动Google Chrome (无论是否带有此标记,都会出现问题)stripeInstance.open(cfg)),摆弄弹出窗口,关闭.您可以使用memory-stats.js或仅在(Chrome)控制台中运行来观看内存:
performance.memory.usedJSHeapSize
Run Code Online (Sandbox Code Playgroud)
我确信这必须是"我"而不是条纹.他们不会泄漏如此糟糕的事件open和close事件吗?
编辑:这是一个JS小提琴,它可以复制他们的演示代码:https://jsfiddle.net/p1Lfuewt/
还有一个5秒间隔的内存屏幕截图,基本上只需点击"购买"即可打开和关闭它们的小部件(不知道那个承诺错误是什么,就是这些):
简短的回答是,是的。
更长的答案是,看起来确实如此。附加的JSFiddle 示例复制了Stripe 规范文档,并且在打开和关闭 Stripe 小部件的简单操作中复制内存耗尽问题是微不足道的。
handler.open({
name: 'Stripe.com',
description: '2 widgets',
zipCode: true,
amount: 2000
})
// Repeat for
Run Code Online (Sandbox Code Playgroud)
我们实施的一个(糟糕的)解决方法是跟踪打开+关闭事件的数量,并在 X 事件达到这些级别的边缘情况后强制进行硬重新加载。