以前保存文件有用openwindow,之后调用execCommand('SaveAs',true,'filename.ext');
,貌似试了下,不太好用了,h5添加一个很小的改动,对a
标签添加了download属性(可以为文件名);
简单实用如下: demo
<a href="javascript:void(0);" download="data.csv" id="export">点击导出csv</a>
<button id="btn">测试点击自动生成a标签下载</button>
<script>
document.getElementById('export').addEventListener('click',function(e) {
console.log(e)
var csvData = 'a,bc,d,e,f,g';
csvData = 'data:application/csv;charset=utf-8,' + csvData;
this.setAttribute('href',csvData);
this.setAttribute('target','_blank');
},false);
// triggerClick(document.getElementById('export'));
// windowSave();
function triggerClick(node){
if (document.createEvent) {
var evt = document.createEvent('MouseEvents');
evt.initEvent('click', true, false);
node.dispatchEvent(evt);
} else if (document.createEventObject) {
node.fireEvent('onclick') ;
} else if (typeof node.onclick == 'function') {
node.onclick();
}
}
document.getElementById('btn').addEventListener('click',function() {
var a = document.createElement('a');
var csvData = 'a,bc,d,e,f,g';
csvData = 'data:application/csv;charset=utf-8,' + csvData;
a.setAttribute('href',csvData);
a.setAttribute('target','_blank');
a.setAttribute('download','test.csv');
triggerClick(a);
},true);
</script>