ユーザーが.xlsファイルとしてダウンロードできるようにするExcelXMLスプレッドシートデータを含む文字列があります。私は現在、Chromeで正常に動作する以下のコードを使用しています。ただし、ユーザーの大多数はまだIE8を使用しているため、Chromeフレームを介してページを実行する必要があり、ここではダウンロードが機能していないようです(何も起こりません)。
また、ページのアンロード/リーブに関する警告があり、閉じる前に保存するようにユーザーに通知しているため、このイベント(など -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フレームがIE8のダウンローダーを使用しているため、データに到達できない新しいセッションを開くことだと思いますか?