2013-01-30 1 views
17

Это касается офлайн-приложений HTML5 на устройствах Android.HTML5 Офлайн-приложение на устройствах Android

Мы бежим в проблему, где закладки оффлайн способны приложение HTML5 (с полным кэш-файл манифеста) не удается загрузить на Android браузер при следующих условиях:

  1. закладки приложение в браузере
  2. выключить все беспроводные соединения
  3. Закрыть браузер полностью
  4. Попытки запустить закладку из стола

В результате мы получим сообщение «Невозможно подключиться к Интернету». Приложение прекрасно работает на устройствах iOS при сохранении на рабочем столе и в режиме самолёта.

Есть ли способ, которым приложение должно быть сохранено, или это особенность Android?

+3

какой браузер вы используете? браузер по умолчанию для Android? – Markasoftware

+0

Не могли бы вы добавить ссылку на свой сайт? С какой версией Android вы это проверяете? У меня есть автономное веб-приложение, и оно работает так, как ожидалось. – Stephen

+0

Yup, мы видим это в браузере Android по умолчанию. – Luthfur

ответ

1

Какое имя файла вашего манифеста кэша? Я слышал, что расширение может повлиять на поведение Android. Убедитесь, что файл заканчивается

Кроме того, убедитесь, что ваш сервер правильно служит тип MIME для файлов манифеста, который text/cache-manifest

+0

Может подтвердить, что оба они являются истинными и по-прежнему неспособны заставить это функционировать должным образом на устройствах Android – bijanv

5

Я бы проверить и убедиться, что:

  1. MIME type действительно text/cache-manifest.
  2. Кэш-манифест начинается с CACHE MANIFEST, после этого ваши URL-адреса либо относятся к манифестным, либо абсолютным URL-адресам.
  3. У вас нет каких-либо неработающих ссылок в вашем манифесте или принудительного тега NETWORK:.
+0

Спасибо, Бен, оказывается, мы используем принудительный тэг NETWORK. Я попробую его без тега и посмотрю, как это происходит. – Luthfur

+0

Итак ...... Любая удача? –

1

В дополнение к Бен Макс Рубинштейна и ответ CompID, в если ваше приложение URL-то вроде этого: example.com/myapp вам нужно добавить следующий косую черту, например: example.com/myapp/.

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

2

Итак, я столкнулся с похожими issues with chrome и андроидом на нескольких экземплярах. По-видимому, нет никакой проблемы с реализацией, потому что я пробовал ее на FF, и она работала нормально, и то же самое было в отношении сафари. Единственное, что я предполагаю, это вызвано тем, что данные получают кеш для веб-страницы в ОЗУ при работе хрома. Если вы закроете браузер, и андроид завершит процесс, новый экземпляр chrome будет инициализирован, а ваши существующие данные приложения исчезнут. Я не могу это подтвердить, но, похоже, это может быть проблемой.

Также проверьте ваш сервер настроен на отправку типа пантомимы правильно: How to set up your server to send the correct MIME types

1

То, что я столкнулся в том, что файлы конфигурации сервера Apache mime.types был правильно установлен в text/cache-manifest и затем несколько строк ниже, переписаны в application/x-ms-application (для совместимость с MS 'ClickOnce вещь).Чтобы решить эту проблему, я принял разное имя файла, а именно .cachemanifest, правильно настроил его тип mime, перезапустил Apache, переименовал файл манифеста как cache.cachemanifest, изменил мой <html> атрибут манифеста, чтобы указать на этот файл, а затем я наконец смог кэшировать мое веб-приложение на Android (в настольных браузерах не было никаких проблем, которые, по-видимому, не заботятся о типе файла манифеста mime). Надеюсь это поможет.

 Смежные вопросы

  • Нет связанных вопросов^_^