
请问多图HIGHCHART 在IE8下加载很卡,如何解决?
最近在做报表,就是一个页面显示了差不多12张报表图,用了highcharts.js,但是在页面加载的时候,总是会出现卡浏览器的情况,每次查询,浏览器就卡住无响应了,差不多...
最近在做报表,就是一个页面显示了差不多12张报表图,用了highcharts.js,但是在页面加载的时候,总是会出现卡浏览器的情况,每次查询,浏览器就卡住无响应了,差不多有十几秒,卡完,东西就查出来了,,这个问题求解啊,有木有可以优化的方案??
展开
1个回答
展开全部
IE8不支持html5,在显示highCharts报表时自然会有不流畅甚至卡顿的感觉,而且LZ说一个页面显示那么多的报表图,我相信就在浏览这个页面的时候,电脑CPU使用率也是瞬间飙升的。
建议LZ把多个报表图拆分到多个页面上,不要放到一起,如果必须放到一起,那最好给它们加个顺序,一个一个来加载数据然后渲染,与此同时换个非IE内核的浏览器也是很有必要的。
建议LZ把多个报表图拆分到多个页面上,不要放到一起,如果必须放到一起,那最好给它们加个顺序,一个一个来加载数据然后渲染,与此同时换个非IE内核的浏览器也是很有必要的。
追问
全被说中了!!这个大哥,你说的加顺序一个一个的加载,这个怎么实现呢,你有没有实例给我发个行不?浏览器用哪一款会比较好一点呢?
追答
请问LZ每个报表的数据源是如何获得的呢?是strut2提前加载好的还是Ajax请求过来的呢?
如果是struts2提前加载好的数据,那么可以先渲染页面上首先看到的报表,另外一部分必须通过滚动页面才能看到的报表则可以设置setTimeout函数来延时一下然后渲染到页面上;
如果是Ajax请求过来的数据,则可以在第一个highcharts对象.chart.series.events.load方法中写入第二个highcharts对象的Ajax请求以及渲染方法,以此类推;
无论以上哪一种方法,最好都将chart.animation设置为false,不允许图表使用动画效果,这样可以节省部分系统性能。
浏览器可以选择Chrome,Firefox,这些浏览器对于html5的前台框架的渲染方式要不同于IE,展示效果自然要优化得更好一些。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询