
echarts统计图保存成图片,兼容IE
发布日期:2021-05-06 17:27:53
浏览次数:21
分类:技术文章
本文共 1675 字,大约阅读时间需要 5 分钟。
在使用echarts做统计表时,有用户需要将统计图下载成图片,使用echarts原来的按钮,发现在IE下没反应,而且在谷歌上需要点两次(第一次生成图片,第二次下载图片),于是上网搜了相关信息后,整合下,成了下面的代码.在本人的应用下,谷歌个IE都能下载
//注:使用[X]字段名[/X]并在事件规则中使用doc.s("字段名","数值")来动态修改报表数据var myChart = echarts.init(document.getElementById('body')); option = { toolbox: { show: true, feature: { //saveAsImage: { show: true}//框架自身的保存图片 myTool2:{ //自定义按钮 danielinbiti,这里增加,selfbuttons可以随便取名字 show:true,//是否显示 title:'下载', //鼠标移动上去显示的文字 icon:"linkey/bpm/easyui/themes/icons/down.gif", onclick:function() { //点击事件,这里的option1是chart的option信息 saveImg() } } } } //其它配置 ]};// 为echarts对象加载数据 myChart.setOption(option);function saveImg() { var url = myChart.getConnectedDataURL({ pixelRatio: 5, //导出的图片分辨率比率,默认是1 backgroundColor: '#fff', //图表背景色 excludeComponents: [ //保存图表时忽略的工具组件,默认忽略工具栏 'toolbox' ], type: 'png' //图片类型支持png和jpeg }); var type = 'png'; var name = myChart.getOption().title.text + '.' + type; //IE if(window.navigator.msSaveOrOpenBlob) { var btstr = atob(url.split(",")[1]); var n = btstr.length; var u8arr = new Uint8Array(n); while(n--) { u8arr[n] = btstr.charCodeAt(n); } var blob = new Blob([u8arr]); window.navigator.msSaveOrOpenBlob(blob, name); } //非IE else { var tempA = document.createElement("a"); tempA.download =name; tempA.href = url; document.body.appendChild(tempA); tempA.click(); tempA.remove(); }}
发表评论
最新留言
不错!
[***.144.177.141]2025年03月12日 08时41分17秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
web前端面试一从输入url到看到页面发生了什么
2019-03-03
智慧水利的泵站自动化监控系统解决方案
2019-03-03
C getopt.h
2019-03-03
CentOS下Nvidia docker 2.0之安裝教程&踩坑實錄
2019-03-03
H5页面授权获取微信授权(openId,微信nickname等信息)
2019-03-03
SpringBoot的URL是如何拼接的
2019-03-03
2018年年终总结
2019-03-03
解决checkbox未选中不传递value的多种方法
2019-03-03
【pgsql-参数详解1】PostgreSQL默认参数值
2019-03-03
HTTP协议(1)_入门的一些教程和资源
2019-03-03
钉钉登录及常用的URL及IP
2019-03-03
CENTOS 删除nginx
2019-03-03
【redis键过期删除策略】很高兴再次认识你
2019-03-03
【工具篇】EasyExcel的应用
2019-03-03
SSM发送手机验证码——以网建SMS为例
2019-03-03
大范围卫星影像快速处理
2019-03-03
监控264后缀文件播放
2019-03-03