Получится ли?
Приветствую.
Интересует, современные возможности браузерного js, позволят ли реализовать следующий функционал?: - Создаю что то типа конструктора - Запускать предполагается локально со своего компьютера, без всяких серверных делов - состояние между запусками сохраню в localStorage - но хочу чтобы пользователь мог и сам сохранить себе в файлик свой макет, свой прогресс, чтобы не зависеть от браузера - Поэтому думаю о функционале: 1) Кнопка "Сохранить резервную копию", при нажатии на которую - формируется текст с кодом плана - и это получается должно в файлик попасть, как это сделать? - имя у файлика желательно чтобы автоматом с датой проставляло 2) Соответственно кнопка "Загрузить из архива", где выбираешь файл с диска, а js как то может прочесть такой вложенный в форму файл? |
Цитата:
|
Цитата:
Ну может кое кому, совсем немногим, этот функционал еще понадобится. Изучать как еще приложения сейчас пишутся перебор для этого. Вот многие с этими SPA приложениями вечно в localStorage сохраняют, чтобы сымитировать БД. Но то же как бы ОС слетит, завирусится, или браузер глюканет, и человек потеряет свой прогресс |
Цитата:
На нем что можно десктопные приложения скомпоновать, как такие которые на Delphi пишутся? exe-шничек будет? И запускаться будут просто из ОС, без всяких установок дополнительного ПО? |
Цитата:
|
Про Web SQL если честно не слышал. Это аналог localStorage только с sql?
База то слетит, но у человека будет ее дамп, и ему не страшно. Вот мой вопрос как поюзабельней этот дамп того что в браузере в SPA навводили сделать. В моем случае доступ к файлам не нужен, не браузер сам к файлам стучит, а пользователь эти файлы выбирает. Раньше я делал такое через textarea, мол вот ваш дамп, копируйте его себе, и также его загружайте, но с файликами было бы симпатичнее |
Цитата:
PS. Есть такой форум "Серый форум", там о многом, что позволяет писать приложения, которые, в частности, могут использовать и JS, но у него уже будут "развязаны руки". По крайней мере какие либо утилиты резервирования/управления файлами уж точно можно создать. |
Смотрю такое сохранение работает как мне хотелось:
function download(filename, text) { var element = document.createElement('a'); element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(text)); element.setAttribute('download', filename); element.style.display = 'none'; document.body.appendChild(element); element.click(); document.body.removeChild(element); } , но в урле наверное ограничение будет на размер данных |
Ну если вас это удовлетворят, и это все что и нужно, на здоровье.
|
Цитата:
|
Загрузка смотрю через FileReader возможна.
Цитата:
Если не будет глюкать при чуток реальных размерах данных. |
Цитата:
А оно не связано получается с этим ограничением(отсюда)?: Цитата:
|
Цитата:
С текстовыми файлами проблем не было. Хром отказывался грузить большие картинки (больше 8-10Мб). Просто зависал не давая никаких сообщений. Файрфокс и их спокойно грузил. |
Цитата:
|
Я через blob делал.
Так примерно function download(filename, text) { var element = document.createElement('a'); var blob = new Blob([text], {type: 'text/plain'}); element.href = window.URL.createObjectURL(blob) element.download = filename; element.style.display = 'none'; element.onclick = () => document.body.removeChild(element); document.body.appendChild(element); element.click(); } |
Имхо, все описанное можно реализовать на js из браузера.
|
Часовой пояс GMT +3, время: 17:51. |