Javascript window.open() 不下载文件

在 Chrome 中,window.open() 下载 ICS 文件,但在 MS Edge 中,它尝试在不同的选项卡中打开该文件。如何确保 Edge 以与 Chrome 相同的方式下载文件。


代码:


var icsMSG = ""; // Here goes the calendar details

window.open("data:text/calendar;charset=utf8," + escape(icsMSG))


芜湖不芜
浏览 101回答 1
1回答

慕姐4208626

您使用的是 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));    }
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript