25.07.2020, 09:16
|
|
Профессор
|
|
Регистрация: 10.09.2009
Сообщений: 1,578
|
|
Получится ли?
Приветствую.
Интересует, современные возможности браузерного js, позволят ли реализовать следующий функционал?:
- Создаю что то типа конструктора
- Запускать предполагается локально со своего компьютера, без всяких серверных делов
- состояние между запусками сохраню в localStorage
- но хочу чтобы пользователь мог и сам сохранить себе в файлик свой макет, свой прогресс, чтобы не зависеть от браузера
- Поэтому думаю о функционале:
1) Кнопка "Сохранить резервную копию", при нажатии на которую
- формируется текст с кодом плана
- и это получается должно в файлик попасть, как это сделать?
- имя у файлика желательно чтобы автоматом с датой проставляло
2) Соответственно кнопка "Загрузить из архива", где выбираешь файл с диска, а js как то может прочесть такой вложенный в форму файл?
|
|
25.07.2020, 12:00
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Сообщение от micscr
|
чтобы не зависеть от браузера
|
Чтобы не зависеть от браузера, пишите приложение, а скриптовых языков для этого куча.
|
|
25.07.2020, 12:44
|
|
Профессор
|
|
Регистрация: 10.09.2009
Сообщений: 1,578
|
|
Сообщение от laimas
|
Чтобы не зависеть от браузера, пишите приложение, а скриптовых языков для этого куча.
|
Да это некоммерческая вещь, чисто чтобы в vue попрактиковаться.
Ну может кое кому, совсем немногим, этот функционал еще понадобится.
Изучать как еще приложения сейчас пишутся перебор для этого.
Вот многие с этими SPA приложениями вечно в localStorage сохраняют, чтобы сымитировать БД.
Но то же как бы ОС слетит, завирусится, или браузер глюканет, и человек потеряет свой прогресс
|
|
25.07.2020, 12:48
|
|
Профессор
|
|
Регистрация: 10.09.2009
Сообщений: 1,578
|
|
Поизучаю что это.
На нем что можно десктопные приложения скомпоновать, как такие которые на Delphi пишутся? exe-шничек будет? И запускаться будут просто из ОС, без всяких установок дополнительного ПО?
|
|
25.07.2020, 12:51
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Сообщение от micscr
|
Но то же как бы ОС слетит, завирусится, или браузер глюканет
|
База тоже слетит, Web SQL в браузере, это ведь не то же самое, что на сервере база. Хотите писать файлы, которые не потеряются, управляйте каталогами/файлами/устройствами, а для этого нужен доступ к системе. У браузера такого нет.
|
|
25.07.2020, 13:40
|
|
Профессор
|
|
Регистрация: 10.09.2009
Сообщений: 1,578
|
|
Про Web SQL если честно не слышал. Это аналог localStorage только с sql?
База то слетит, но у человека будет ее дамп, и ему не страшно.
Вот мой вопрос как поюзабельней этот дамп того что в браузере в SPA навводили сделать.
В моем случае доступ к файлам не нужен, не браузер сам к файлам стучит, а пользователь эти файлы выбирает.
Раньше я делал такое через textarea, мол вот ваш дамп, копируйте его себе, и также его загружайте, но с файликами было бы симпатичнее
|
|
25.07.2020, 13:46
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Сообщение от micscr
|
Это аналог localStorage
|
Нет, localStorage до SQL как пехом до Берлина, это далеко не одно и тоже. В основе Web SQL лежит SQLite, но это база не отдельный движок, это API браузера, то есть она "намертво приклеена" к нему и не существует без него, хотя, конечно, ее потроха можно и сохранить на чем либо как архив.
PS. Есть такой форум "Серый форум", там о многом, что позволяет писать приложения, которые, в частности, могут использовать и JS, но у него уже будут "развязаны руки". По крайней мере какие либо утилиты резервирования/управления файлами уж точно можно создать.
Последний раз редактировалось laimas, 25.07.2020 в 13:51.
|
|
25.07.2020, 14:19
|
|
Профессор
|
|
Регистрация: 10.09.2009
Сообщений: 1,578
|
|
Смотрю такое сохранение работает как мне хотелось:
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);
}
, но в урле наверное ограничение будет на размер данных
|
|
25.07.2020, 14:20
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Ну если вас это удовлетворят, и это все что и нужно, на здоровье.
|
|
25.07.2020, 14:30
|
|
Профессор
|
|
Регистрация: 03.02.2020
Сообщений: 2,754
|
|
Сообщение от micscr
|
, но в урле наверное ограничение будет на размер данных
|
по 20-30 Мб сохранял.
|
|
|
|