Вы обслуживаете локальный статический сайт, используя Cordova? - PullRequest
0 голосов
/ 31 января 2019

В настоящее время мы начинаем работу над проектом, который состоит из веб-сайта, а также приложений для Android, iOS и (да) Windows Phone.

Приложения идентичны на всех трех платформах и относительно просты,по крайней мере, в теории.

  1. Они должны предоставлять автономный доступ к контенту на сайте.Это статический контент, поэтому это набор .html-страниц и ресурсов (images, css, javascript и т. Д.).
  2. Они должны иметь возможность периодически обновлять контент автоматически, когда доступно подключение к Интернету..
  3. Любые внешние ссылки должны открываться в интернет-браузере пользователя, а не в приложении.
  4. Приложение не должно отображать браузер "хром" (например, адресную строку и т. Д.).

Кажется, что Cordova - хороший способ пойти с этим (хотя я открыт для других предложений).Однако у меня возникают трудности с поиском какой-либо информации о том, как действовать.

Для пункта 1 я мог бы представить, как это работает, - приложение загружает веб-представление в некоторой форме, указывая на file: // path/to/site/index.html.Предполагая, что сайт использует относительные URL-адреса для всех внутренних ссылок и ресурсов, этого должно быть достаточно для предоставления полностью просматриваемой автономной версии сайта.Приложение будет поставляться со статическим экспортом текущего сайта.

Для пункта 2 я предполагал, что приложение Cordova будет иногда запускать процесс синхронизации, который по сути будет представлять собой ряд веб-запросов к API веб-сайта дляузнать, есть ли новый контент.Затем он будет загружать любые новые файлы, помещая их в файловую структуру, указанную в пункте 1, перезаписывая существующие файлы.(Для целей этого вопроса мне все равно, если это временно переводит сайт в противоречивое состояние.)

Точка 3 звучит тривиально, но я не уверен, если этоявляется.Будет ли достаточно target = "_ blank"?Или немного JavaScript для запуска действия Cordova при нажатии на ссылку?Мы контролируем способ генерации HTML-кода, поэтому при необходимости можем вставить дополнительную разметку для автономного использования.

Может кто-нибудь предложить какой-либо совет о том, как обрабатывать автоматически обновляемый локальный статический сайт таким образом?Это вообще возможно?

1 Ответ

0 голосов
/ 31 января 2019

Cordova в основном хранит ваши html-файлы в приложении и показывает index.html (или другую страницу, если вы ее определили) в WebView.Круто то, что Cordova также предоставит API для вызова API устройств из JS.

Cordova не загружает автоматически html-файлы и ресурсы в приложение автоматически.Для этого вам нужно будет выпустить новое приложение или просто перезагрузить только данные в вашем приложении, и вы управляете всем этим в JavaScript.

Если вам не нужны какие-либо API-интерфейсы устройства, я бы порекомендовал вам посмотретьна ServiceWorkers для кэширования и перезагрузки файлов.С помощью некоторых тегов HTML вы также можете создать поведение, похожее на приложение, после нажатия «Добавить на домашний экран».

С наилучшими пожеланиями Marc

...