我在一个按钮中有这个代码:
var csvContent = "data:text/csv;charset=utf-8,";
csvContent += myCSVcontent;
var encodedUri = encodeURI(csvContent);
window.open(encodedUri);
这在 Chrome、Safari 和 Firefox 中完美运行。
- 但不是 IE8 - 我需要 Internet Explorer 8 兼容性。
当我单击调用上面代码的按钮时,它将 .csv 文件下载到我的计算机上。
但是,当我单击 IE8 中的按钮时,它会打开一个新的 IE8 窗口,其中包含地址栏中的所有 csv 内容,并且不会下载(或要求下载)任何内容。
不幸的是,我必须具有 IE8 兼容性。我怎样才能使这项工作?
编辑:我必须避免对服务器的任何额外调用。一切都需要在客户端发生。这目前适用于除 IE8(可能还有 IE9)之外的所有浏览器。
Edit2:当我将最后一行更改为“document.location.href=encodedUri;”时 它仍然可以在所有其他浏览器上运行,但是在 IE8 中,当我单击该按钮时,我得到一个错误窗口,上面写着“传递给系统调用的数据区域太小”。知道那告诉我什么吗?