Jac*_*ard 16 javascript csv excel internet-explorer internet-explorer-8
我正在创建一个使用Javascript下载的csv文件,除了IE(我已经测试过8和10)之外,它在所有方面都运行得很好.
在IE8中,当我单击按钮创建并下载文件时,我收到错误并说出来"The data area passed to a system call is too small".在IE10中,当我单击按钮时,它只会打开一个新选项卡,其中包含我在地址栏中创建的URL但不下载任何内容.
任何想法这个错误意味着什么?
我在一个按钮中有这个代码:
var csvContent = "data:text/csv;charset=utf-8,";
csvContent += escape(myCSVvariable);
var encodedUri = encodeURI(csvContent);
window.open(encodedUri);
Run Code Online (Sandbox Code Playgroud)
这与这个问题有关,但我开始了一个新问题,因为我在更改了一些内容后出现了不同的错误 - 如何使用Javascript创建和下载csv文件?
Rac*_*len 23
这是一个已知问题,但有一种解决方法.
添加以下代码
if (navigator.msSaveBlob)
{ // IE 10+
navigator.msSaveBlob(new Blob([csv], { type: 'text/csv;charset=utf-8;' }), "filename.csv");
}
Run Code Online (Sandbox Code Playgroud)
这个问题应该得到解决.这适用于IE10,我还没有在IE8上测试它(我没有IE8了!)
参考:
https://msdn.microsoft.com/library/Hh772331
https://msdn.microsoft.com/library/Hh772298
| 归档时间: |
|
| 查看次数: |
6547 次 |
| 最近记录: |