diff --git a/js/exporters/exporter-csv.js b/js/exporters/exporter-csv.js index 70ec47408..1c08d889c 100644 --- a/js/exporters/exporter-csv.js +++ b/js/exporters/exporter-csv.js @@ -67,7 +67,7 @@ PassmanExporter.csv.export = function (credentials, FileService, EncryptService) file_data += row_data.join(',') + "\n"; } this.call_then(); - download(file_data, 'passman-export.csv'); + download(file_data, 'passman-export.csv', 'text/csv'); }).bind(this)).progress(function() { }); diff --git a/js/vendor/download.js b/js/vendor/download.js index 43aa86023..2a7070ac7 100644 --- a/js/vendor/download.js +++ b/js/vendor/download.js @@ -96,17 +96,17 @@ function saver(url, winMode){ if ('download' in anchor) { //html5 A[download] - anchor.href = url; - anchor.setAttribute("download", fileName); - anchor.className = "download-js-link"; - anchor.innerHTML = "downloading..."; - anchor.style.display = "none"; - jQuery('.detailsView').append(anchor); - setTimeout(function() { - anchor.click(); - jQuery('.download-js-link').remove(); - if(winMode===true){setTimeout(function(){ self.URL.revokeObjectURL(anchor.href);}, 250 );} - }, 66); + var element = document.createElement('a'); + + element.setAttribute('href', url); + element.setAttribute('download', fileName); + element.style.display = 'none'; + + document.body.appendChild(element); + element.click(); + document.body.removeChild(element); + if(winMode===true){setTimeout(function(){ self.URL.revokeObjectURL(element.href);}, 250 );} + return true; }