Innym sposobem na to byłoby użycie Blob
i URL.createObjectURL
. Wszystkie najnowsze przeglądarki, w tym Safari 6+, obsługują je.
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);
// returns a URL you can use as a href
return textFile;
};
Oto example który używa tej techniki, aby zapisać dowolny tekst z textarea
.
Inną rzeczą, na którą należy zwrócić uwagę na przykład, jest to, że użyłem linku pobierania pliku download
attribute. Niestety Safari obecnie go nie obsługuje. Jednak w przeglądarkach, które to robią, plik zostanie automatycznie pobrany po kliknięciu zamiast otwierania pliku w przeglądarce. Ponadto, ponieważ ustawiam atrybut download
na info.txt
, plik zostanie pobrany z tą nazwą zamiast losowej nazwy wygenerowanej przez createObjectURL
.
Dude podaj nam swój kod, abyśmy mogli Ci pomóc ..... –
zobacz także [Jak utworzyć, zapisz plik txt za pomocą przeglądarki zgodnej ze standardem javascript] (http://stackoverflow.com/questions/7392117/ how-to-create-save-a-txt-file-with-javascript-compatible-cross-browser) – harpo