blob 无法在 safari 中下载

Pet*_*Pik 5 javascript safari

我正在尝试下载 csv 文件,但它似乎适用于除 safari 之外的所有浏览器?怎么会这样。在 safari 中它只是在浏览器中显示?

这是我的代码:

  var saveData = (function () {
  var a = document.createElement("a");
  document.body.appendChild(a);
  a.style = "display: none";
  return function (data, fileName) {
   var blob = new Blob([data], {type: "text/csv;charset=utf-8"}),
     url = window.URL.createObjectURL(blob);
          a.href = url;
          a.download = fileName;
          a.click();
                    setTimeout(function(){

          window.URL.revokeObjectURL(url);  
      }, 100); 
      };
  }());
Run Code Online (Sandbox Code Playgroud)

kjs*_*js3 1

您在锚标记上使用了 Safari 不支持的 HTML 5 下载属性。

http://caniuse.com/#feat=download

最好链接到文件并像这样设置标头,以告诉代理下载而不是显示。

内容类型:text/csv 内容处置:附件;文件名=“随便.csv”