javascript实现客户端兼容各浏览器创建csv并下载的方法


Posted in Javascript onMarch 23, 2015

本文实例讲述了javascript实现客户端兼容各浏览器创建csv并下载的方法。分享给大家供大家参考。具体实现方法如下:

$("#radarDLBut").click(function(){
var data = [displayData["radar_chart"]["r_label"],displayData["radar_chart"]["r_default"]]; 
var csvContent = "data:text/csv;charset=utf-8,\ufeff";
if (window.navigator.msSaveOrOpenBlob) {
  csvContent = "\ufeff";
}
data.forEach(function(infoArray, index){
  dataString = infoArray.join(",");
  csvContent += index < data.length ? dataString+ "\n" : dataString;
});
if (window.navigator.msSaveOrOpenBlob) {
  // if browser is IE
  var blob = new Blob([decodeURIComponent(encodeURI(csvContent))],{
 type: "text/csv;charset=utf-8;"
  });
  navigator.msSaveBlob(blob, 'subject.csv');
}else{
  var encodedUri = encodeURI(csvContent);
  var link = document.createElement("a");
  link.setAttribute("href", encodedUri);
  link.setAttribute("download", "subject.csv");
  document.body.appendChild(link);
  link.click();
}
});

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
用JavaScript修改CSS属性的代码
May 06 Javascript
使用JS+plupload直接批量上传图片到又拍云
Dec 01 Javascript
jQuery模拟物体自由落体运动(附演示与demo源码下载)
Jan 21 Javascript
JS版微信6.0分享接口用法分析
Oct 13 Javascript
简单实现jQuery级联菜单
Jan 09 Javascript
微信小程序 仿美团分类菜单 swiper分类菜单
Apr 12 Javascript
React Native中Navigator的使用方法示例
Oct 13 Javascript
使用原生JS实现火锅点餐小程序(面向对象思想)
Dec 10 Javascript
vue总线机制(bus)知识点详解
May 10 Javascript
javascript实现智能手环时间显示
Sep 18 Javascript
vue element el-transfer增加拖拽功能
Jan 15 Vue.js
vue postcss-px2rem 自适应布局
May 15 Vue.js
jQuery实现拖拽效果插件的方法
Mar 23 #Javascript
jQuery操作表单常用控件方法小结
Mar 23 #Javascript
JavaScript自定义等待wait函数实例分析
Mar 23 #Javascript
JavaScript中匿名函数用法实例
Mar 23 #Javascript
JavaScript创建一个object对象并操作对象属性的用法
Mar 23 #Javascript
JavaScript使用function定义对象并调用的方法
Mar 23 #Javascript
JavaScript通过function定义对象并给对象添加toString()方法实例分析
Mar 23 #Javascript
You might like
使用PHP批量生成随机用户名
2008/07/10 PHP
php.ini修改php上传文件大小限制的方法详解
2013/06/17 PHP
php实现aes加密类分享
2014/02/16 PHP
PHP中的排序函数sort、asort、rsort、krsort、ksort区别分析
2014/08/18 PHP
PHP利用APC模块实现大文件上传进度条的方法
2015/10/29 PHP
浅谈PHP拦截器之__set()与__get()的理解与使用方法
2016/10/18 PHP
php微信公众号开发之关键词回复
2018/10/20 PHP
TP5框架页面跳转样式操作示例
2020/04/05 PHP
jquery复选框CHECKBOX全选、反选
2008/08/30 Javascript
IE6 弹出Iframe层中的文本框“经常”无法获得输入焦点
2009/12/27 Javascript
使用javascript获取flash加载的百分比的实现代码
2011/05/25 Javascript
javascript拖拽上传类库DropzoneJS使用方法
2013/12/05 Javascript
JQuery的$命名冲突详细解析
2013/12/28 Javascript
Javascript实现禁止输入中文或英文的例子
2014/12/09 Javascript
JQuery选择器、过滤器大整理
2015/05/26 Javascript
JS声明式函数与赋值式函数实例分析
2016/12/13 Javascript
学习使用ExpressJS 4.0中的新Router的用法
2018/11/06 Javascript
VUE引入第三方js包及调用方法讲解
2019/03/01 Javascript
javascript设计模式 ? 中介者模式原理与用法实例分析
2020/04/20 Javascript
vue 内联样式style中的background用法说明
2020/08/05 Javascript
[00:32]2018DOTA2亚洲邀请赛Liquid出场
2018/04/03 DOTA
[54:53]完美世界DOTA2联赛PWL S2 GXR vs PXG 第二场 11.18
2020/11/18 DOTA
Python中的迭代器与生成器高级用法解析
2016/06/28 Python
谈谈Python中的while循环语句
2019/03/10 Python
利用ImageAI库只需几行python代码实现目标检测
2019/08/09 Python
python关闭占用端口方式
2019/12/17 Python
Python监控服务器实用工具psutil使用解析
2019/12/19 Python
Python3中小括号()、中括号[]、花括号{}的区别详解
2020/11/15 Python
室内设计实习自我鉴定
2013/09/25 职场文书
幼儿园标语大全
2014/06/19 职场文书
高考学习决心书
2015/02/04 职场文书
个人职业生涯规划之自我评估篇
2019/09/03 职场文书
自定义函数实现单词排序并运用于PostgreSQL(实现代码)
2021/04/22 PostgreSQL
Jmerte 分布式压测及分布式压测配置
2022/04/30 Java/Android
详解Nginx的超时keeplive_timeout配置步骤
2022/05/25 Servers
Flink 侧流输出源码示例解析
2022/09/23 Servers