Сохранение контента в файл через JS
Здравствуйте, подскажите как можно сохранить определённый текст в файл, тоесть предложить пользователю сохранить файл на компьютер. Необходимо сделать только на JS без php. ActiveX не предлогать.
Пишу приложение для google webstore https://chrome.google.com/webstore/d...fbfke?hl=en-US. Приложение оффлайновое так что надо сделать без обращения к сторонним сайтам. |
Цитата:
|
может есть какой нибудь альтернативный способ? или придётся сохранять в гугле доки :(
|
fdcore,
какой может быть альтернативный если у языка нет средств для работы с файлами? |
Filesystem API, File API и, возможно, Localstorage, который позволит хранить бд на клиенте. Это всё входит в набор HTML5 APIs и не будет работать в старых браузерах.
|
LocalStorage и SQLite и так уже используется в скрипте. Но надо сохранить именно html файлик на компьютер пользователя. File API кажется только позволяет заливать файлы переносов их в браузер.
|
FilesystemAPI позволяет. Только вот он нигде не реализован. (Разве что, быть может, в Хроме)
|
fdcore,
Подобная проблема, подскажи как в итоге выкрутился? |
приведу кусок решения.
открытия файла работает в Мозиле, и не работает в ИЕ. Сохранения файла работает в Мозиле, в других пока непроверял. <html> <head> <meta http-equiv="content-type" content="text/html; charset=windows-1251"> <title>my</title> <script type="text/javascript"> function newShader(){ document.getElementById("textEditor").innerHTML=document.getElementById("fil")['files'][0].getAsBinary();} function newFil(){ return document.getElementById("textEditor").innerHTML;} </script> </head> <body> <input type="file" name="file" id="fil" value=""> <input type="button" value="открыть" onClick="newShader()"> <a href="javascript:newFil()" type="multipart/form-data">Сохранить файл</a> <textarea id="textEditor" style="width:900;height:900;" spellcheck="false"></textarea><br> </body> </html> При сохранении, с атрибутами надо ещё разбиратся, и при сохранение файлу по умолчанию ставится тип .part Тоесть неполный файл, так что пока вручную вводить имя надо. Возможное решение вставить в конец текста код конца файла пока непроверял. |
<a href="javascript:newFil()" type="multipart/form-data">Сохранить файл</a> Это конечно интересная идейка, но: 1. на firefox работает, а вот на моём любимом google chrome - нет...:(.. 2. даже на firefox нет возможности выбрать имя файла при сохранении. а есть ли ещё варианты автономного(без сервера) сохранения? может возможно как-то обмануть ajax, например отправить эхо-запрос (самому себе - в ответе было такое же содержимое как и в запросе) и выставить заголовки на скачивание? |
Часовой пояс GMT +3, время: 06:59. |