У IE11 +, Firefox 25+ та Chrome 30+ працює наступний метод:
<a id="export" class="myButton" download="" href="#">export</a>
<script>
function createDownloadLink(anchorSelector, str, fileName){
if(window.navigator.msSaveOrOpenBlob) {
var fileData = [str];
blobObject = new Blob(fileData);
$(anchorSelector).click(function(){
window.navigator.msSaveOrOpenBlob(blobObject, fileName);
});
} else {
var url = "data:text/plain;charset=utf-8," + encodeURIComponent(str);
$(anchorSelector).attr("download", fileName);
$(anchorSelector).attr("href", url);
}
}
$(function () {
var str = "hi,file";
createDownloadLink("#export",str,"file.txt");
});
</script>
Дивіться це в дії: http://jsfiddle.net/Kg7eA/
Firefox та Chrome підтримують URI даних для навігації, що дозволяє нам створювати файли, переходячи до URI даних, в той час як IE не підтримує його в цілях безпеки.
З іншого боку, IE має API для збереження краплі, який можна використовувати для створення та завантаження файлів.