美文网首页
js保存文件

js保存文件

作者: 利312 | 来源:发表于2017-02-13 17:02 被阅读421次

    以前保存文件有用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>
    

    相关文章

      网友评论

          本文标题:js保存文件

          本文链接:https://www.haomeiwen.com/subject/wsqtwttx.html