我在一个按钮中有这段代码:
var csvContent = "data:text/csv;charset=utf-8,";
csvContent += myCSVcontent;
var encodedUri = encodeURI(csvContent);
window.open(encodedUri);
这段代码在Chrome、Safari和Firefox中都能完美运行
但在IE8中却不能,需要兼容IE8。
当我点击按钮调用上述代码时,它会将.csv文件下载到我的计算机上。
但是,在IE8中点击按钮后,它会在地址栏中打开一个新的IE8窗口,并不会下载任何内容(也不会提示下载)。
很遗憾,我必须要兼容IE8。怎样才能让它在IE8中也能正常工作呢?
编辑:我必须避免向服务端发起任何额外的调用。所有操作必须在客户端完成。目前,该代码在除IE8(和可能的IE9)之外的所有浏览器中都能正常工作。
编辑2:当我将最后一行更改为“document.location.href= encodedUri;”时,它仍然能在其他所有浏览器中正常工作,但在IE8中,当我点击按钮后,会弹出一个错误窗口,显示“传递给系统调用的数据区域太小。”你知道这是什么意思吗?