我有一个包含 Excel XML 电子表格数据的字符串,我希望用户能够将其下载为 .xls 文件。我目前正在使用下面的代码,它在 Chrome 中运行良好。但是,由于我们的大多数用户仍在使用 IE8,因此我们将不得不通过 Chrome Frame 运行该页面,而此处的下载似乎不起作用(没有任何反应)。
我们还在页面卸载/离开上发出警告,提醒用户在关闭前保存,因此触发此事件的下载(如 - 这不再适用,尽管 location.href 无论如何都不起作用。location.href = blob
)将无法运行。
var blob = new Blob([template]),
saveLink = document.createElement("a");
saveLink.href = window.URL.createObjectURL(blob);
saveLink.download = "EventDetails.xls";
saveLink.click();
编辑:
我也尝试过以下但没有成功:
window.open("data:application/vnd.ms-excel," + template, "_self");
还有,
var blob = new Blob([template], { type: "application/vnd.ms-excel" });
window.open(window.URL.createObjectURL(blob), "_self");
我猜问题是 Chrome Frame 使用的是 IE8 的下载器,因此打开了一个无法访问数据的新 session ?
最佳答案
我怀疑这个问题永远不会得到解决,因为 Chrome Frame 的进一步开发将在 2014 年 1 月停止 (See blog)并且不再有人签署 ticket对于这个问题。所以我要结束这个问题。
关于javascript - 下载不适用于 IE8 中的 Chrome Frame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13418414/