Javascript window.open() не загружает файл

#javascript #microsoft-edge #window.open

#javascript #microsoft-edge #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))
 

Ответ №1:

Вы используете устаревший Edge? Edge Legacy поддерживает только msSaveBlob метод загрузки файлов. Вы можете обновить свой Edge до последней версии Edge Chromium для window.open() загрузки или использования msSaveBlob в устаревшем Edge.

Если вы все еще хотите использовать устаревший Edge, вы можете обратиться к следующему коду msSaveBlob для загрузки:

     var icsMSG = ""; // Here goes the calendar details
    if (window.navigator amp;amp; window.navigator.msSaveBlob) { // For IE amp; 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));
    }