Ich versuche, eine Chrome-Erweiterung zu portieren, die eine Datei programmatisch erstellt und über Firefox 45.0.1 auf eine Firefox-WebExtension herunterlädt.Wie programmiere ich eine Datei, die mit einer Firefox WebExtension erstellt wurde, programmgesteuert?
Dies ist der Javascript-Code:
text = '{"greeting":"Hello, World!"}';
var a = document.createElement('a');
var file = new Blob([text], {type: 'text/json'});
a.href = URL.createObjectURL(file);
a.download = 'hello.world'; // Filename
a.click(); // Trigger download
Alle Linien scheinen gut auszuführen, aber keine Datei heruntergeladen wird (Ich habe einen console.log()
nach dem a.click()
).
Ab sofort gibt es in Firefox WebExtensions keine chrome.downloads-API.
Gibt es eine Inkompatibilität mit Firefox im obigen Code? Gibt es eine andere Alternative zum programmgesteuerten Herunterladen einer Datei mithilfe einer Firefox WebExtension?
Firefox hat eine 'chrome.downloads'-API, aber leider wird das Herunterladen von' blob: '-URLs aufgrund dieses Fehlers nicht unterstützt: https://bugzil.la/1287347 –