1. 程式人生 > >javascript記憶體清理,尤其是iframe以及頁面定時重新整理

javascript記憶體清理,尤其是iframe以及頁面定時重新整理

關於IE崩潰的問題,現在找到以下幾個原因

1,事件繫結,不要跨html,如

$("#showBody" , parent.document) 

2,在iframe中使用mCustomScrollbar,頁面關閉時需要釋放

$("body").mCustomScrollbar("stop"); 

$("body").mCustomScrollbar("destroy"); 

3、事件不要重複繫結,繫結事件前,如果確保沒有其他衝突的地方,繫結前先解綁,尤其是公共js的程式碼
 

$(window).off("resize").on("resize",chart.resize); 

chart.un(eClick).on(eClick, clickFunction); 

$(window).unbind("resize").resize(treeScroll)

$(".btn-back").unbind().click(returnBack) 

或

$(".btn-back").unbind('click').click(returnBack)

4、echarts定時重新整理,注意記憶體管理,事件不重複繫結,畫布需要清理,

    delete data;

    
    var eChartInstance;
    if(elem.id){
        window["echarts-" + elem.id] = window["echarts-" + elem.id] || eChartInstance;
    }
    eChartInstance = window["echarts-" + elem.id];
    if(eChartInstance){
        eChartInstance.dispose();
    }
    {
        eChartInstance = echarts.init(elem,"macarons");
    }
    eChartInstance.setOption(option);

    $(window).off("resize").on("resize",eChartInstance.resize);
    if(clickFunction && typeof clickFunction=="function"){
        eChartInstance.un("click").on('click', clickFunction);
    }