2015-06-25 8 views
6

Ich bin neu in Javascript. Alle Codes, die im Internet verfügbar sind, um Textdateien mit Javascript zu erstellen, funktionieren nicht auf meinem Laptop. kann mir jemand eine idee geben oder mit möglichem code.Wie erstellt man eine .txt-Datei mit JavaScript/HTML5?

+0

möglich duplicate von [JavaScript-Code, um eine TXT-Datei zu speichern] (http://StackOverflow.com/Questions/6854296/Javascript-Code-to-save-a-txt-file) –

+2

Sie sollten definieren "funktioniert nicht ". Vielleicht ist dein Browser zu alt? Einige Beispiele verwenden ziemlich neue Techniken. – Sirko

Antwort

6

Dieser Code sollte funktionieren, geben diesem einen Versuch und wenn diese dann nicht funktioniert kann es ein Problem mit Ihrem Browser sein:

(function() { 
var textFile = null, 
    makeTextFile = function (text) { 
    var data = new Blob([text], {type: 'text/plain'}); 

    // If we are replacing a previously generated file we need to 
    // manually revoke the object URL to avoid memory leaks. 
    if (textFile !== null) { 
     window.URL.revokeObjectURL(textFile); 
    } 

    textFile = window.URL.createObjectURL(data); 

    return textFile; 
    }; 


    var create = document.getElementById('create'), 
    textbox = document.getElementById('textbox'); 

    create.addEventListener('click', function() { 
    var link = document.getElementById('downloadlink'); 
    link.href = makeTextFile(textbox.value); 
    link.style.display = 'block'; 
    }, false); 
})(); 

Und der HTML:

<textarea id="textbox">Type something here</textarea> <button id="create">Create file</button> 
<a download="info.txt" id="downloadlink" style="display: none">Download</a> 

Entnommen diese Fiddle:

http://jsfiddle.net/uselesscode/qm5ag/

+0

es funktioniert nicht sowohl in IE als auch in Chrome .. was soll ich tun? – abc

+0

Es funktioniert in Firefox 38 und Chrome 43, aber nicht in IE10/11. Die Textdatei wird generiert und kann mit Rechtsklick> Speichern unter gespeichert werden, aber der Listener für den Download-Link funktioniert nicht. Ich kann kein Beispiel finden, das in IE funktioniert. – Equalsk

2

Eine sehr schnelle und einfache Lösung ist FileSaver.js zu verwenden:
https://raw.githubusercontent.com/eligrey/FileSaver.js/master/FileSaver.js

dauert es dann nur zwei Zeilen Code eine txt-Datei zum Download:

var blob = new Blob(["Hello, world!"], {type: "text/plain;charset=utf-8"}); 

saveAs(blob, "hello world.txt"); 


Dieser Code wird beispielsweise ein Dialogfeld angezeigt werden, eine Datei herunterzuladen namens „Hallo Welt .txt "mit dem Text" Hello, world! ". Ersetzen Sie dies einfach durch den Dateinamen und den Textinhalt Ihrer Wahl!

Verwandte Themen