Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Получится ли? (https://javascript.ru/forum/misc/80750-poluchitsya-li.html)

micscr 25.07.2020 09:16

Получится ли?
 
Приветствую.
Интересует, современные возможности браузерного js, позволят ли реализовать следующий функционал?:

- Создаю что то типа конструктора
- Запускать предполагается локально со своего компьютера, без всяких серверных делов
- состояние между запусками сохраню в localStorage
- но хочу чтобы пользователь мог и сам сохранить себе в файлик свой макет, свой прогресс, чтобы не зависеть от браузера
- Поэтому думаю о функционале:
1) Кнопка "Сохранить резервную копию", при нажатии на которую
- формируется текст с кодом плана
- и это получается должно в файлик попасть, как это сделать?
- имя у файлика желательно чтобы автоматом с датой проставляло
2) Соответственно кнопка "Загрузить из архива", где выбираешь файл с диска, а js как то может прочесть такой вложенный в форму файл?

laimas 25.07.2020 12:00

Цитата:

Сообщение от micscr
чтобы не зависеть от браузера

Чтобы не зависеть от браузера, пишите приложение, а скриптовых языков для этого куча.

micscr 25.07.2020 12:44

Цитата:

Сообщение от laimas (Сообщение 527299)
Чтобы не зависеть от браузера, пишите приложение, а скриптовых языков для этого куча.

Да это некоммерческая вещь, чисто чтобы в vue попрактиковаться.
Ну может кое кому, совсем немногим, этот функционал еще понадобится.
Изучать как еще приложения сейчас пишутся перебор для этого.
Вот многие с этими SPA приложениями вечно в localStorage сохраняют, чтобы сымитировать БД.
Но то же как бы ОС слетит, завирусится, или браузер глюканет, и человек потеряет свой прогресс

micscr 25.07.2020 12:48

Цитата:

Сообщение от Vlasenko Fedor (Сообщение 527300)

Поизучаю что это.
На нем что можно десктопные приложения скомпоновать, как такие которые на Delphi пишутся? exe-шничек будет? И запускаться будут просто из ОС, без всяких установок дополнительного ПО?

laimas 25.07.2020 12:51

Цитата:

Сообщение от micscr
Но то же как бы ОС слетит, завирусится, или браузер глюканет

База тоже слетит, Web SQL в браузере, это ведь не то же самое, что на сервере база. Хотите писать файлы, которые не потеряются, управляйте каталогами/файлами/устройствами, а для этого нужен доступ к системе. У браузера такого нет.

micscr 25.07.2020 13:40

Про Web SQL если честно не слышал. Это аналог localStorage только с sql?

База то слетит, но у человека будет ее дамп, и ему не страшно.

Вот мой вопрос как поюзабельней этот дамп того что в браузере в SPA навводили сделать.

В моем случае доступ к файлам не нужен, не браузер сам к файлам стучит, а пользователь эти файлы выбирает.
Раньше я делал такое через textarea, мол вот ваш дамп, копируйте его себе, и также его загружайте, но с файликами было бы симпатичнее

laimas 25.07.2020 13:46

Цитата:

Сообщение от micscr
Это аналог localStorage

Нет, localStorage до SQL как пехом до Берлина, это далеко не одно и тоже. В основе Web SQL лежит SQLite, но это база не отдельный движок, это API браузера, то есть она "намертво приклеена" к нему и не существует без него, хотя, конечно, ее потроха можно и сохранить на чем либо как архив.

PS. Есть такой форум "Серый форум", там о многом, что позволяет писать приложения, которые, в частности, могут использовать и JS, но у него уже будут "развязаны руки". По крайней мере какие либо утилиты резервирования/управления файлами уж точно можно создать.

micscr 25.07.2020 14:19

Смотрю такое сохранение работает как мне хотелось:
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);
}

, но в урле наверное ограничение будет на размер данных

laimas 25.07.2020 14:20

Ну если вас это удовлетворят, и это все что и нужно, на здоровье.

voraa 25.07.2020 14:30

Цитата:

Сообщение от micscr
, но в урле наверное ограничение будет на размер данных

по 20-30 Мб сохранял.


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