javascript - reproducir - insertar audio mp3 en html
El atributo de descarga no funciona en Firefox (1)
Puede intentar agregar el elemento al DOM antes de activar el clic:
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
Esto me funcionó en Firefox 34
jsfiddle: http://jsfiddle.net/8wos7cf8/7/
Estoy intentando que el usuario descargue algunos datos como un archivo CSV (texto), usando Javascript y el atributo de descarga HTML5 ( http://caniuse.com/#feat=download ).
Los datos se forman en una matriz y luego se agregan a un nuevo objeto Blob.
Funciona perfectamente en Chrome y Opera, pero no funciona en absoluto en Firefox.
Ejemplo original que estoy intentando copiar: http://blog.eliacontini.info/post/79860720828/export-to-csv-using-javascript-the-download-attribute
Fiddle: http://jsfiddle.net/8wos7cf8/5/
Javascript:
$(''#downloadButton'').click(function () {
// some data to export
var data = [{
"title": "Book title 1",
"author": "Name1 Surname1"
}, {
"title": "Book title 2",
"author": "Name2 Surname2"
}, {
"title": "Book title 3",
"author": "Name3 Surname3"
}, {
"title": "Book title 4",
"author": "Name4 Surname4"
}];
// prepare CSV data
var csvData = new Array();
csvData.push(''"Book title","Author"'');
data.forEach(function (item, index, array) {
csvData.push(''"'' + item.title + ''","'' + item.author + ''"'');
});
// download stuff
var fileName = "data.csv";
var buffer = csvData.join("/n");
var blob = new Blob([buffer], {
"type": "text/csv;charset=utf8;"
});
var link = document.createElement("a");
if (link.download !== undefined) { // feature detection
// Browsers that support HTML5 download attribute
link.setAttribute("href", window.URL.createObjectURL(blob));
link.setAttribute("download", fileName);
link.click();
} else {
alert(''CSV export only works in Chrome, Firefox, and Opera.'');
}
});
HTML:
<div class="toggle-button" id="downloadButton"><span>Export to CSV</span></div>
Cuando agrego una alerta con:
alert(window.URL.createObjectURL(blob));
Obtengo este resultado en Firefox:
... y este resultado en Chrome / Opera:
Por lo que parece que omite la ruta de la URL en Firefox por alguna razón.