js保存文件

以前保存文件有用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>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容