做一个类似实时显示网络情况的界面;使用js的定时器每几秒获取数据.现在每次执行后内存都会累加
这是测试代码
<div id="chartdiv" style="width:100%;height:100%" ></div>   
<script type="text/javascript">   
setInterval(getWangka,5000);
var wangka=new Array();
wangka[0]=11;
wangka[1]=123;
wangka[2]=61;
wangka[3]=11;
wangka[4]=16;
wangka[5]=1;
wangka[6]=111;
wangka[7]=65;
wangka[8]=2;"C:/Documents and Settings/Administrator/Application Data/Tencent/QQ/Temp/2~3OVSI1XW@NA28[C76BXR7.gif"
wangka[9]=19; 
wangka[10]=19;
wangka[11]=19;
wangka[12]=19;
function getWangka(){
var myChart = new FusionCharts("./FusionCharts/FusionCharts3v/MSLine.swf", "wangkaid", "100%", "100%");   
var charts={  "chart": {
    "caption": "网卡占用",
    "yaxisname": "KB/S",
    "showvalues": "0",
    "decimals": "0",
    "canvasBgColor": "8FDEE7",
    "formatnumberscale": "0",
    "animation":"0",
    "palette": "4"
},
"categories": [
    {
        "category": [
            {
                "label": "1分钟前"
            },
            {
                "label": "55秒前"
            },
            {
                "label": "50秒前"
            },
            {
                "label": "45秒前"
            },
            {
                "label": "40秒前"
            },
            {
                "label": "35秒前"
            },
{
                "label": "30秒前"
            },
{
                "label": "25秒前"
            },
{
                "label": "20秒前"
            },
{
                "label": "15秒前"
            },
{
                "label": "10秒前"
            },
            {
                "label": "5秒前"
            },
{
                "label": "现在"
            }
        ]
    }
], "dataset": [
               {"seriesname": "上传",
            "color": "AFD8F8",
            "showvalues": "0",
            "data": [
                {
                    "value": wangka[0]
                },
                {
                    "value": wangka[1]
                },
                {
                    "value": wangka[2]
                },
                {
                    "value": wangka[3]
                },
                {
                    "value": wangka[4]
                },
{
                    "value": wangka[5]
                },
{
                    "value": wangka[6]
                },
{
                    "value": wangka[7]
                },
{
                    "value": wangka[8]
                },
{
                    "value": wangka[9]
                },
{
                    "value": wangka[10]
 },
{
               "value": wangka[11]
},
{
               "value": wangka[12]
}
                ]
            }
        ]
    };
myChart.setJSONData(charts);
myChart.render("chartdiv");
for(var i=0;i<wangka.length;i++){
wangka[i]=wangka[i]+5;
}
delete myChart;
delete charts.chart;
delete charts.categories;
delete charts.dataset;
alert(1)
CollectGarbage();
return null;
}
</script>

解决方案 »

  1.   

    FusionCharts是你这么用的吗.?我感觉不太对啊;
      

  2.   


    function chartdiv(obj){  
     var myChart = new FusionCharts(
     "<%=imgpath%>/chars/swfs/"+obj+"?ChartNoDataText=无数据显示","myChartid","520","250","0","100"
    );
    myChart.setDataXML("<graph showNames=\"1\" decimalPrecision=\"0\"><set name=\"USA\" value=\"20\" /><set name=\"France\" value=\"7\" /></graph>");
    myChart.render("chartdiv"); }
    form onload调用方法 ,页面里面引用Fusionchart.js 这个你肯定知道,"<%=imgpath%>/chars/swfs/"+obj+这个是swf的路径.chartdiv是div的id,setDataXML可以通过ajax到后台循环拼出传回来显示