在使用AJAX时,jqplot内存不断增加。当系统分配给浏览器的内存不足时就崩溃了。
在网上找了很多资料都没有解决问题,最后看了其源码因为使用JQUERY变量$.jqplot进行实例化时会调用其内部的var plot = new jqPlot();
如果你每次AJAX都去实例化就会增加内存,就算你销毁实例,var plot = new jqPlot();产生的内存任然存在,因为它不是该实例的一个成员,这样就会导致这块内存不能够被访问。
解决办法:
if(lineMemory == null){ lineMemory = $.jqplot('distpic',[l1,l2,l3,l4,l5,l6],barLineConfig('用量')); }else{ lineMemory.init('distpic',barLineConfig('用量')); lineMemory.replot(); }//先创建一个对像,如果该对像存在就进行初始化,然后调用replot进行重画。这样就不会重复调用jquery.jqplot.js中的var plot = new jqPlot();