我想根据使用AJAX异步从服务器获取的数据构建一个交互式刷新图表的页面。我非常喜欢jqPlot,但在尝试定期更新图表时(通过调用replot()
,无需刷新页面),会导致巨大的浏览器内存泄漏。这似乎是所有主流浏览器都会出现的一个众所周知的问题。
我没有尝试Flot和protovis,但快速的谷歌搜索显示他们似乎有同样的问题。
您是否知道任何JavaScript图表库在图表的多次更新后都不会引入内存泄漏?
答案 0 :(得分:0)
您可以查看Highcharts。 quick googling似乎并不表示内存泄漏是一个很大的问题。
答案 1 :(得分:0)
为了避免jqPlot内存泄漏,你必须删除绑定并删除你的图表:
var chart;
function yourTimedFunction(data) {
if (chart)
{
$('#chartDiv *').unbind(); // iexplorer
chart.destroy();
}
chart = $.jqplot('chartDiv', ............. );
}