Экспорт в Excel в JavaScript с использованием Blob не работает в FireFox
У меня есть некоторый код JavaScript, указанный в первом фрагменте кода, который работает в последнем Chrome, но не в последнем FireFox. Этот код экспортирует данные вxls
файл с использованием объекта Blob. Странно то, что в FireFox код не выдает никаких ошибок, но ничего не делает, так как он успешно выполняет все строки, то есть экспорт не происходит.
Демо-версия этого вопроса находится по этому адресу:http://js.do/sun21170/84920
Если вы запустите код в приведенной выше демонстрации в Chrome, он загрузит файлnewfile.xls
(разрешить всплывающие окна в Chrome).
Вопрос: Какие изменения мне нужно сделать вBlob Code
приведенный ниже, чтобы заставить его работать в FireFox? Я пытался с помощьюtype: 'application/octet-stream'
а такжеtype: 'text/plain'
, но оба не помогли в FireFox.
Переменнаяtable
в приведенном ниже фрагменте кода содержится строка, представляющая собой HTML для отображения таблицы, включающей теги html и body.
Blob-код для экспорта (не работает в FireFox)
//export data in Chrome or FireFox
//this works in Chrome but not in FireFox
//also no errors in firefox
sa = true;
var myBlob = new Blob( [table] , {type:'text/html'});
var url = window.URL.createObjectURL(myBlob);
var a = document.createElement("a");
document.body.appendChild(a);
a.href = url;
a.download = "newfile.xls";
a.click();
window.URL.revokeObjectURL(url);