我正在使用 Mike Alsup 出色的 blockUI jQuery 插件,但我似乎在 IE7 中遇到了一个问题(是的,公司选择的浏览器......)每次使用该块都会为进程增加大约 25kb 的内存,而且似乎从来没有走开。这通常不是问题,但页面每分钟至少使用一次该块,并且意味着整天都在屏幕上而不刷新。
我已经使用 sIEve 对此进行了测量,通过打开或关闭插件,我每次都能持续获得那么多。用 2.36 和最新的 2.44 都试过了。
有没有人看到过这种行为或知道有什么好的修复方法或可以看的地方?
编辑:按照 sergio 的建议尝试 JS Leak Detector(给了我 sIEve 没有的堆栈跟踪),我确定问题出在第 241 行:
$(el).data('blockUI.onUnblock', opts.onUnblock);
似乎是 jQuery 如何处理额外数据的问题。这会是一个 jQuery 核心问题,还是 blockUI 是如何处理它的?