Javascript window.open() 没有下载文件
Javascript window.open() doesn't download file
在 Chrome window.open() 下载 ICS 文件,但在 MS Edge 中,它试图在不同的选项卡中打开文件。我如何确保 Edge 以与 Chrome 相同的方式下载文件。
代码:
var icsMSG = ""; // Here goes the calendar details
window.open("data:text/calendar;charset=utf8," + escape(icsMSG))
您在使用 Edge Legacy 吗? Edge Legacy 仅支持 msSaveBlob
method 下载文件。您可以将 Edge 更新到最新的 Edge Chromium,以便 window.open()
下载或在 Edge Legacy 中使用 msSaveBlob
。
如果你还想使用Edge Legacy,可以参考以下代码使用msSaveBlob
下载:
var icsMSG = ""; // Here goes the calendar details
if (window.navigator && window.navigator.msSaveBlob) { // For IE & Edge Legacy
var blob = new Blob([icsMSG], { type: 'text/calendar;charset=utf-8\'' })
window.navigator.msSaveBlob(blob, 'download.ics')
}
else {
window.open("data:text/calendar;charset=utf8," + escape(icsMSG));
}
在 Chrome window.open() 下载 ICS 文件,但在 MS Edge 中,它试图在不同的选项卡中打开文件。我如何确保 Edge 以与 Chrome 相同的方式下载文件。
代码:
var icsMSG = ""; // Here goes the calendar details
window.open("data:text/calendar;charset=utf8," + escape(icsMSG))
您在使用 Edge Legacy 吗? Edge Legacy 仅支持 msSaveBlob
method 下载文件。您可以将 Edge 更新到最新的 Edge Chromium,以便 window.open()
下载或在 Edge Legacy 中使用 msSaveBlob
。
如果你还想使用Edge Legacy,可以参考以下代码使用msSaveBlob
下载:
var icsMSG = ""; // Here goes the calendar details
if (window.navigator && window.navigator.msSaveBlob) { // For IE & Edge Legacy
var blob = new Blob([icsMSG], { type: 'text/calendar;charset=utf-8\'' })
window.navigator.msSaveBlob(blob, 'download.ics')
}
else {
window.open("data:text/calendar;charset=utf8," + escape(icsMSG));
}