我有一张经常更新的信息表。这是使用容器div呈现的,每行包含一个div,每行包含10个div。
我使用setInterval来调用一个返回一些json格式信息的asmx webservice。
在成功回调中,我在容器div上调用$("#myContainer").empty();
并为每行的列重新创建行和10个嵌套的div。
这个页面可能会运行一整天,所以我很担心像这样更新DOM,因为我注意到随着时间的推移,浏览器的内存确实会增加(IE8)。
我正在考虑的另一种方法是在行div中添加一个id。当新结果处理每个数据项时,查找相应的行,如果它存在,则覆盖每个div中的数据。如果它不存在(例如新数据),请追加该行。
其他人使用哪种方法进行这种长期伪实时信息显示。
TIA
答案 0 :(得分:5)
通常,防止内存泄漏的一种非常安全的方法是避免破坏和重新创建DOM元素。在像你这样的情况下,我总是尝试保留初始的DOM结构,只需在AJAX请求的新数据可用时更新元素的内部文本。
答案 1 :(得分:1)
偶尔刷新页面。