Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Как на клиентском JavaScript создать некий текст и сохранить (https://javascript.ru/forum/dom-window/56942-kak-na-klientskom-javascript-sozdat-nekijj-tekst-i-sokhranit.html)

mmotor 11.07.2015 03:39

Как на клиентском JavaScript создать некий текст и сохранить
 
Нужно дать пользователю возможность сохранить некий текст в файл, даже если отключен интернет

Deff 11.07.2015 03:48

mmotor,
Сохранить в один из вариантов Storage браузера, наиболее просто в localStorage, но убивается очисткой Кеша, про менее распространённые методы можно почитать в гугле, к примеру FileApi

kostyanet 11.07.2015 04:13

Локально через data url, например http://stackoverflow.com/a/18197511/2607462

alex_rr 13.07.2015 11:40

мб localStorage подойдёт?

kostyanet 13.07.2015 13:49

А как из localStorage сохранить текст в файл на диск?

Leon-on12 13.07.2015 16:04

Цитата:

Сообщение от kostyanet
А как из localStorage сохранить текст в файл на диск?

Ну если мы знаем ключ. И работаем в IE с плохими настройками безопасности, то наверное можно использовать activeX.
Достаём из локала и юзаем актив.

Deff 13.07.2015 16:07

Основная задача не сохранить на диск - явно, а сделать данные нестираемые при очиске кеша браузера, а сохранить можно и на сервер при восстановлении связи. Для этого есть (не во всех браузерах) иные Storage и FileApi

mmotor 13.07.2015 17:13

Благодарю за ответы. У меня основная задача все таки сохранить на диск, причем в пределах текущей сессии.

В целом я сделал так

window.open("data:application/octet-stream," + (JSON.stringify(content)), "fail");


Теперь возник вопрос, как задать имя файлу.

рони 13.07.2015 18:00

mmotor,
window.open("data:application/octet-stream," + (JSON.stringify(content)), input.value+".txt");

mmotor 13.07.2015 19:08

window.open("data:application/octet-stream," + (JSON.stringify("df")), "d.txt");


нету имени у файла заданного


Часовой пояс GMT +3, время: 08:33.