跨浏览器javascript下载功能
Cross browser javascript download function
我正在客户端从json响应构建一些内容,以显示在html表中。我还有一个下载按钮,点击后应该会将文件保存到本地磁盘。我正在动态地从同一个json响应创建csvContent。
代码:
<a class="download-page" href="#" onClick="downloadPage();">Download</a>
function downloadPage() {
window.location.href = 'data:text/csv;charset=UTF-8,'+ encodeURIComponent(csv);
//window.location.href = "data:text/csv;charset=utf-8," + escape(csv));
//window.open("data:text/csv;charset=utf-8," + encodeURI(csv))
}
这只适用于chrome 10。某些版本的浏览器根本不支持此功能。IE是个大问题。但我的大多数用户都使用IE 9和Fire fox。是否有任何跨浏览器功能可以实现这一点。
CSV数据示例:
"Testcase Reports for : jumashan'r'n
Total Unique Stimuli : 1'r'n
Total execution time : 0 Days 0 hours 16 minutes'r'n
Testcase Name, Count (Pass/Fail/Error/Block), Version Number, Execution Time(HH:MM:SS),
INIT-CHECK,2( 0 / 0 / 0 / 2 ) ,0,0:16:28,
Testcase Reports for : prabhaa'r'n
Total Unique Stimuli : 1'r'n
Total execution time : 0 Days 1 hours 23 minutes'r'n"
您可以通过自己在函数中构建内容来轻松获取内容。
下载时,只有Chrome允许您指定文件名。
其他网络浏览器,如Firefox,还没有提供这一功能,如果你想让你的下载锚推送下载,你可以调用以下功能(在以前的项目中使用):
window.open( "data:application/octet-stream;charset=utf-8,"+escape(data));
(注意八位字节流MIME类型)
"data"变量包含要输出的CSV数据。
希望这能有所帮助。
相关文章:
- 如何在生成下载文件时显示加载动画
- 直接下载文件,而不是从window.open(url)
- 添加文字和评论功能更新Div
- JavaScript打印功能使日历停止工作
- 如何使用javascript或html下载PDF格式的填写表单
- Javascript运行php文件,然后下载文件
- 在单击href链接的同时下载文件
- 尽管链接成功并已成功下载,但未找到NPM模块
- 通过php页面中的js强制下载txt
- 每当您在选择器内移动鼠标时,悬停功能就会重复
- 使用angularjs向浏览器发送servlet响应(下载功能)
- 跨浏览器javascript下载功能
- jQuery文件下载插件总是在失败功能
- 纯JavaScript或jQuery文件下载功能
- 如何通过点击实现下载功能?[使用电话间隙]
- 在IE中下载文件时运行功能
- 通过数据库为图像创建上传/下载功能
- 类型错误:回调不是下载谷歌驱动器文件时的功能
- 通过Parse Cloud Code功能下载图像
- 下载功能不起作用