为了账号安全,请及时绑定邮箱和手机立即绑定

Javascript window.open() 不下载文件

Javascript window.open() 不下载文件

芜湖不芜 2023-11-02 21:32:17
在 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));

    }


查看完整回答
反对 回复 2023-11-02
  • 1 回答
  • 0 关注
  • 47 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信