2016-06-10 75 views
0

我已经创建了此功能来导出一些数据。这是一个用backbone.js编写的web应用程序。它在Firefox和IE中工作正常,下载的文件的扩展名为.csv,文本为(text/csv),但Chrome在文件属性中没有任何扩展名,它表示它是Text(文本/ plain)这也需要是Text(text/csv)和.csv扩展名。用于创建CSV文件的导出功能在Chrome中不起作用

export: function (ev) { 
    var blob = new Blob([ ev.currentTarget.attributes.csv.nodeValue ], { type: "text/csv"}); 
     if (navigator.msSaveOrOpenBlob) { 
     navigator.msSaveOrOpenBlob(blob, "output.csv"); 
    } else { 
     window.open("data:text/csv;charset=utf-8," + escape(ev.currentTarget.attributes.csv.nodeValue), '_blank') 
     return false; 
    } 
}, 

我该如何做到这一点?

回答

0

这对我有效。也许这可能是为别人有用

export: function (ev) { 
     var blob = new Blob([ ev.currentTarget.attributes.csv.nodeValue ], { type: "text/csv;charset=utf8;"}); 
     console.log(999); 
     if (navigator.msSaveOrOpenBlob) { 
      navigator.msSaveOrOpenBlob(blob, "export.csv"); 
     } else { 
      var link = document.createElement('a'); 
      link.href = URL.createObjectURL(blob); 
      link.setAttribute('download', 'export.csv'); 
      document.body.appendChild(link); 
      link.click(); 
      document.body.removeChild(link); 
      return false; 
     } 
    }, 
+0

后“如果”是后IE边缘导出功能和10“其他”一个用于Firefox的铬(这是该应用程序支持浏览器...) – fasln01