我有一个网页,它使用 jquery 来接收人们查看事物时的一些产品信息,然后显示最后看到的产品图像。这是一个 jquery AJAX 回调,看起来非常像这样:
if(number_of_things_seen > 10) {
$('#shots li:last-child').remove();
}
$('<li><img src="' + p.ProductImageSmall + '"></li>').prependTo('#shots');
然而,它似乎泄漏了相当多的内存。从视觉上看,它做了正确的事情,但足迹却无限增长。
Safari 的 DOM 检查器显示 DOM 是我所期望的样子,但它似乎维护了对其显示的每个图像的引用(如这个截图 http://skitch.com/dlsspy/7m5k/img-leaks如果有人感兴趣的话)。
我已经添加
$('#shots li:last-child img').remove();
删除声明没有明显效果。
是否需要一些魔法才能让浏览器释放一些这些东西?
浏览器因内存泄漏而臭名昭著。听起来这个问题是在页面长时间运行时出现的。在内存耗尽之前刷新页面怎么样?
window.setTimeout("location.reload()",1000*60*60);//refresh in an hour
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)