3

我有一个包含 Excel XML 电子表格数据的字符串,我希望用户能够将其下载为 .xls 文件。我目前正在使用以下代码,它在 Chrome 中运行良好。然而,由于我们的大多数用户仍在使用 IE8,我们将不得不通过 Chrome Frame 运行该页面,而这里的下载似乎无法正常工作(没有任何反应)。

我们还在页面卸载/离开时发出警告,提醒用户在关闭前保存,因此触发此事件的下载(如location.href = blob)将不起作用。 - 这不再适用,尽管 location.href 无论如何都不起作用。

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 的下载器,因此打开了一个无法访问数据的新会话?

4

1 回答 1

0

我怀疑这是否会得到解决,因为 Chrome Frame 的进一步开发将在 2014 年 1 月停止(请参阅博客),并且不再有任何人为此问题签署票证。所以我要结束这个问题。

于 2013-12-05T14:08:24.963 回答