在 Chrome 中,window.open() 下载 ICS 文件,但在 MS Edge 中,它尝试在不同的选项卡中打开该文件。如何确保 Edge 以与 Chrome 相同的方式下载文件。代码:var icsMSG = ""; // Here goes the calendar detailswindow.open("data:text/calendar;charset=utf8," + escape(icsMSG))
1 回答
慕姐4208626
TA贡献1852条经验 获得超7个赞
您使用的是 Edge Legacy 吗?Edge Legacy 仅支持下载文件的msSaveBlob
方法。您可以将 Edge 更新到最新的 Edge Chromium,以便在 Edge Legacy 中window.open()
下载或使用。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));
}
添加回答
举报
0/150
提交
取消