无法使用Javascript指定下载文件的名称

Kos*_*ien 7 html javascript csv jquery google-chrome

我正在使用Javascript创建一个CSV文件供用户下载.

在5月22日之前,Chrome仍然使用我指定的名称下载文件.但是,今天我发现下载的文件名为"download",没有扩展名.csv.

Firefox中不存在此问题!

这是一个示例Javascript 的小提琴:

var A = [['n','sqrt(n)']];  // initialize array of rows with header row as 1st item
for(var j=1;j<10;++j){ A.push([j, Math.sqrt(j)]) }
var csvRows = [];
for(var i=0,l=A.length; i<l; ++i){
    csvRows.push(A[i].join(','));   // unquoted CSV row
}
var csvString = csvRows.join("\n");

var a = document.createElement('a');
a.href     = 'data:text/csv;charset=utf-8;base64,' + window.btoa(csvString);
a.target   = '_blank';
a.download = 'myFile.csv';
document.body.appendChild(a);
a.click();
Run Code Online (Sandbox Code Playgroud)

Pau*_*per 6

干得好!这是一个回归.

我刚刚创建了另一个小提琴,并提交了Chrome错误.

如果您有兴趣,请将其加入错误跟踪器中.

<a href="/" download="my-downloaded-file.html" target="_blank">Click here</a>
Run Code Online (Sandbox Code Playgroud)

编辑:它看起来取决于URL.绝对网址以及对象网址(根据https://code.google.com/p/chromium/issues/detail?id=376197).