跨浏览器javascript下载功能
我正在从客户端的json响应构建一些内容,以显示在html表中。 我还有一个下载按钮,点击它应该会将文件保存到本地磁盘。我正在动态地从相同的json响应创建csvContent 代码:跨浏览器javascript下载功能,javascript,jquery,html,dom,Javascript,Jquery,Html,Dom,我正在从客户端的json响应构建一些内容,以显示在html表中。 我还有一个下载按钮,点击它应该会将文件保存到本地磁盘。我正在动态地从相同的json响应创建csvContent 代码: <a class="download-page" href="#" onClick="downloadPage();">Download</a> function downloadPage() { window.location.href = 'data:text/csv;cha
<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允许您指定文件名 其他web浏览器(如Firefox)尚未提供此功能,如果您希望下载锚推送下载,可以调用以下函数(在以前的项目中使用): (注意八位字节流MIME类型) “data”变量包含要输出的CSV数据
希望这有帮助。像这样的事情@NinjaFart我已经试过了,但它不起作用:(你能发布一些CSV样本数据吗?出于安全原因,IE只支持数据协议的一个子集。你可以阅读更多关于它的内容,@NinjaFart Plz检查我上面编辑的CSV样本。我所做的就是格式化json对象,并根据需要添加“,”。
"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"
window.open( "data:application/octet-stream;charset=utf-8,"+escape(data));