Подтвердить что ты не робот

Возможно ли использовать режим офлайн-режима в (HTML5) браузере?

Можно ли создать приложение внутри браузера? Приложение означает:

1 Если между браузером и удаленным сервером приложений существует соединение (онлайн-режим):

  • приложение работает в типичном веб-режиме
  • приложение хранит необходимые данные в автономном хранилище, которые будут использоваться в автономном режиме (2)
  • приложение синхронизирует/удаляет данные (снятые в автономном режиме) обратно на сервер, когда он возобновляется из автономного режима обратно в онлайн-режим.

2 Если между браузером и удаленным сервером приложений существует соединение (автономный режим):

  • приложение все равно будет работать (javascript?)
  • приложение будет предоставлять данные (которые хранятся в автономном режиме) пользователю
  • приложение может принимать входные данные от пользователя (и хранить/добавлять в автономном хранилище)

Возможно ли это? Если ответ является да, существует ли какая-либо (Ruby/Python/PHP) структура?

Спасибо

4b9b3361

Ответ 1

Да, это возможно.

  • Вам нужно написать приложение в Javascript и как-то обнаружить, находится ли браузер в автономном режиме (проще всего опросить сервер раз в то время). (Изменить: см. Комментарии для лучшего способа обнаружения автономного режима)

  • Убедитесь, что ваше приложение состоит только из статических файлов HTML, Js и CSS (или задайте политику кэширования вручную в script, чтобы ваш браузер запомнил их в автономном режиме). Обновления на странице выполняются с помощью JS DOM-манипуляции, а не через сервер (здесь может помочь инфраструктура, такая как ExtJS http://www.extjs.com)

  • Для хранения используйте модуль, такой как PersistJS (http://github.com/jeremydurham/persist-js), который использует локальное хранилище браузера для хранения отслеживать данные. Когда соединение восстанавливается, синхронизируйтесь с сервером.

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

  • Опять же: основная часть вашего приложения должна быть в javascript, структура PHP/Ruby/Python поможет вам немного, если сервер недоступен. Возможно, сервер хранится как можно проще, REST-подобный API AJAX для хранения и загрузки данных.

Ответ 2

"Let Take This Offline" глава в книге Марка Пилигрима (онлайн) Погружение в HTML5 - очень хороший обзор написания оффлайновых веб-приложений с технологиями HTML5.

Примечание: Поскольку оригинальное погружение с Mark Pilgrim Dive в HTML5, похоже, не работает.

Теперь копии можно найти здесь среди других мест.

Ответ 3

Джейк Арчибальд написал "Поваренная книга в автономном режиме". Современный (9 декабря 2014 года) и приятный подход с ServiceWorker:

http://jakearchibald.com/2014/offline-cookbook/

Ответ 5

Javascript предоставляет вам возможность автономного режима веб-сайта и называется UpUp Javascript Framework. Маленький script, который гарантирует, что ваш сайт всегда будет доступен вашим пользователям, даже если они находятся на самолете или 20 000 лиг под водой.

<html>
<head>
  <meta charset="UTF-8">
  <title>Lonely Globe Advisor</title>
</head>
<body>
  <h1>Top Hotels in Rome</h1>
  <ol>
    <li>Villa Domus - Via Piacenza 9, Rome, Italy</li>
    <li>Hotel Trivelli - Piazza Barberini 11, Rome, Italy</li>
  </ol>
  <script src="/upup.min.js"></script>
  <script>
    UpUp.start({
      'content-url': 'offline.html',
      'assets': ['css/bootstrap.min.css', 'css/offline.css']
    });
  </script>
</body>
</html>

Теперь содержимое, которое наши пользователи видят, когда они находятся в автономном режиме, представляет собой содержимое offline.html. Это простой HTML файл, отличный от любой другой страницы нашего сайта.

Наш файл offline.html содержит два файла css: bootstrap.min.css и offline.css. Убедитесь, что они кэшированы и доступны нашим пользователям, когда они находятся в автономном режиме.

Ответ 6

Посмотрите на Google Gears, http://code.google.com/apis/gears/. Хотя они были отменены в пользу HTML5. Однако, похоже, что то, что толкуется как HTML5, - Google Gears.

Ответ 7

Я тоже искал это, я узнал abt HTML5 Offline Web Apps. havent попробовал это

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