Чтобы получить Jonathan Amends ответ для работы в Edge I сделал следующие изменения:
var blob = typeof File === 'function'
? new File([this.response], filename, { type: type })
: new Blob([this.response], { type: type });
к этому
var f = typeof File+"";
var blob = f === 'function' && Modernizr.fileapi
? new File([this.response], filename, { type: type })
: new Blob([this.response], { type: type });
Я предпочел бы разместить это как комментарий, но у меня недостаточно репутации для этого
Как следует из сообщения об ошибке, вы определяете функцию в месте, которое вы не должны - в данном случае внутри функции main
. Уберите его оттуда, и с вами все будет в порядке.