Обновление :
Время определенно меняет вещи ;-) Когда я впервые ответил на этот вопрос IE8 был последним браузером IE, доступным (ноябрь 2010), и поэтомуне было никакого кросс-браузерного способа сделать это без обращения к серверу или использования инструмента, требующего Flash.
@ Ответ Zectburno даст вам то, что вам нужно сейчас, однако для исторического контекстазнать, какие браузеры IE поддерживают какую функцию.
- btoa () не определен в IE8 и IE9
- BLOB-объект доступен в IE10 +
Убедитесь, чтоДля тестирования в браузерах вам необходимо поддерживать.Несмотря на то, что пример Blob в другом ответе должен работать в IE10 +, он не работает для меня, просто нажав на ссылку (браузер ничего не делает, без ошибок) ... только если я щелкну правой кнопкой мыши и сохраню цель как "file.csv", топерейдите к файлу и дважды щелкните его, чтобы открыть файл.
Проверьте оба подхода (btoa / Blob) в этом JSFiddle. (вот код)
<!doctype html>
<html>
<head>
</head>
<body>
<a id="a" target="_blank">Download CSV (via btoa)</a>
<script>
var csv = "a,b,c\n1,2,3\n";
var a = document.getElementById("a");
a.href = "data:text/csv;base64," + btoa(csv);
</script>
<hr/>
<a id="a2" download="Download.csv" type="text/csv">Download CSV (via Blob)</a>
<script>
var csv = "a,b,c\n1,2,3\n";
var data = new Blob([csv]);
var a2 = document.getElementById("a2");
a2.href = URL.createObjectURL(data);
</script>
</body>
</html>
Оригинальный ответ :
Не думаю, что для этого есть опция.
Я бы просто изменил ваш код так, чтобы, если Flash 10+ былобнаружено ( 93% насыщения по состоянию на сентябрь 2009 г. ) в системе пользователя, укажите параметр Downloadify, в противном случае откройте запрос на стороне сервера.