javascript記憶體清理,尤其是iframe以及頁面定時重新整理
阿新 • • 發佈:2019-01-08
關於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); }