Мне нужно разрешить пользователям загружать файл CSV, у меня есть CSV в виде строкового значения. Следующая функция работает в Chrome, но не в IE 10/11, Edge или Firefox.
function downloadCSV(CSV, fileName) {
var data = "data:text/json;charset=utf-8," + encodeURIComponent(CSV);
var downloader = document.createElement('a');
downloader.setAttribute('href', data);
downloader.setAttribute('download', fileName+'.csv');
downloader.click();
};
Это работает безупречно в Chrome.
Другие браузеры могут видеть переменную CSV в console.log, но не загружают ее. Edge выведет предупреждение в консоль с гигантской ссылкой, содержащей содержимое CSV, которое, если я нажму, покажу CSV как строковую переменную в окне отладчика. Firefox не выдает ошибок или предупреждений при срабатывании вышеуказанной функции.
Пробовал добавлять совместимость для разных браузеров, ничего не меняется.
<system.webServer>
<httpProtocol>
<customHeaders>
<clear />
<!--<add name="X-UA-Compatible" value="IE=10" />
<add name="X-UA-Compatible" value="IE=11" />-->
<add name="X-UA-Compatible" value="IE=edge" />
</customHeaders>
</httpProtocol>
</system.webServer>