testete ich engincancan's Antwort, und es war fast da, aber nicht ganz. Zunächst einmal war das Dateiformat für "ecc.plist" nirgendwo erkennbar. Damit der Code in Safari, Chrome und Firefox auf dem Desktop funktioniert, müssen Sie ein vorhandenes Anchor-Tag verwenden und keines erstellen (document.createElement ('a')). Der destroyClickedElement-Ansatz funktioniert nur in Chrome, weil er so nachsichtig und nachsichtig ist. Und damit der Download in Firefox funktioniert, müssen Sie document.body.appendChild (downloadLink.download);
Ich wollte auch meinen lokalen Speichertext in eine Datei zum Download speichern und der Code funktioniert auf dem Desktop für Safari, Chrome und Firefox auf dem Mac. Ich denke jedoch, dass es in iOS unmöglich ist, den Blob() überall mit Chrome oder Firefox zu speichern. Es funktioniert, interessanterweise in Safari. Zum Beispiel kann ich die Textdatei in meiner Wunderlist App speichern. Hier ist der Link meine Repo auf Github: The Cat Whisperer on Github gh-pages
Hier ist der JavaScript-Code:
const fileDownloadButton = document.getElementById('save');
function localStorageToFile() {
const csv = JSON.stringify(localStorage['autosave']);
const csvAsBlob = new Blob([csv], {type: 'text/plain'});
const fileNameToSaveAs = 'local-storage.txt';
const downloadLink = document.getElementById('save');
downloadLink.download = fileNameToSaveAs;
if (window.URL !== null) {
// Chrome allows the link to be clicked without actually adding it to the DOM
downloadLink.href = window.URL.createObjectURL(csvAsBlob);
downloadLink.target = `_blank`;
} else {
downloadLink.href = window.URL.createObjectURL(csvAsBlob);
downloadLink.target = `_blank`;
downloadLink.style.display = 'none';
// add .download so works in Firefox desktop.
document.body.appendChild(downloadLink.download);
}
downloadLink.click();
}
// file download button event listener
fileDownloadButton.addEventListener('click', localStorageToFile);
Zu einer lokalen Datei? (http://www.html5rocks.com/en/tutorials/file/filesystem/) oder auf einem Remote-Server? –