JavaScript + IMG 标签 = 内存泄漏。有一个更好的方法吗?

2024-01-09

我有一个网页,它使用 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(使用前将#替换为@)

JavaScript + IMG 标签 = 内存泄漏。有一个更好的方法吗? 的相关文章

随机推荐