Ich habe mich gefragt, ob es möglich ist, einen Browser (zumindest Chrome) zu zwingen, eine data:text/plain
URL herunterzuladen.
Chrome lädt binäre URLs (z. B. data:application/zip;base64,...
) herunter, lädt jedoch keine Dateien herunter, die im Browser angezeigt werden können (z. B. Textdateien).
Was ich bisher schon ohne Glück versucht habe ist:
%Vor%Aber es scheint, als könnte ich keine Header wie diese hinzufügen.
Gibt es eine Möglichkeit, Chrome dazu zu bringen, eine data:text/plain,...
URL herunterzuladen?
Ab sofort ist es möglich, <a download>
in Chrome zu verwenden. Mit dispatchEvent
können Sie beliebige Zeichenfolgen als Datei (auch mit einem benutzerdefinierten Dateinamen) herunterladen, wann immer Sie möchten. Hier ist eine Dienstprogrammfunktion, um es zu benutzen:
Verwendung:
%Vor% Es verwendet jQuery und das webkit
Präfix, aber beide können vermieden werden.
Es verwendet das HTML5-Attribut download="filename.ext"
. (Kein JS benötigt:)
Mehr über: Ссылка
Die Browser-Unterstützung kann unter Ссылка
überprüft werden(Im Moment 2013, keine IE- und Safari-Unterstützung)
Ich denke, Sie können einen Fallback für nicht unterstützende Browser machen: Verwenden Sie JS, um den Wert von href="..."
in die URL Ihres Server-Skripts zu ändern (wodurch der Dateiinhalt mit dem entsprechenden HTTP-Header Content-disposition: attachment;filename=filename.txt
zurückgegeben wird) / p>
Tags und Links text file download data-url content-disposition