автономное кэширование веб-страниц с постоянными данными - PullRequest
1 голос
/ 07 февраля 2020

Привет! Я пытаюсь отключить мою HTML веб-страницу для устройств android и IOS. Моя проблема в том, что мне нужно хранить много данных. Эти данные (css, js, изображения, html) должны быть постоянными. (даже после выключения устройства)

ИСПОЛЬЗОВАНИЕ: кто-то печатает URL-адрес и отключает доступ ко всей странице в автономном режиме.

Каков наилучший способ сохранить ваши данные? и возможно ли это без создания гибридного или нативного приложения, только с кэшированием и, возможно, appcache / indexeddb.

РЕДАКТИРОВАТЬ: я обнаружил, что индексированные БД в сочетании с Dexies, я бы предпочел решение. ребята, есть ли что-то, что можно или нельзя делать, альтернативы или учебные пособия?

1 Ответ

1 голос
/ 10 февраля 2020

в зависимости от индивидуальности приложения Я иногда отображаю весь сайт / приложение в сервисном работнике, когда сервисный работник установлен / активирован. Я написал пример приложения, которое я сделал в октябре прошлого года для конференции: https://love2dev.com/pwa/pubcon/

Что касается стратегии, я меняю вещи. Для данных (думаю JSON) я склонен кешировать в IndexedDB (мне нравится localforage b / c, это просто). Для ресурсов сайта (HTML, JS, CSS, шрифты и часто мультимедиа) я использую кэш рабочего сервиса. Если сайт загружен мультимедиа, я сохраняю изображения и видео в IDB b / c iOS, ограничивая кэш рабочего сервиса до 50 МБ. 50 МБ должно быть более чем достаточно для основных ресурсов любого веб-приложения, так как они должны измеряться в КБ, а не в МБ. iOS дает вам несколько ГБ хранилища IDB, в зависимости от того, сколько дискового пространства доступно на устройстве. Я создал несколько приложений SAAS, используя эту стратегию, и никогда не использовал квоты для данных. Конечно, много видео или изображений будут занимать больше места, и вам нужно следить за ошибками превышения квоты.

Пользователям также будет предложено дать разрешение и на расширенное хранилище, поэтому имейте в виду этот барьер, так как вам может потребоваться информировать пользователя об этом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...