Имеют ли iPhone Offline Web Apps и Safari один и тот же кэш приложений HTML5? - PullRequest
1 голос
/ 15 января 2012

У меня есть веб-приложение, которое предназначено для использования в качестве автономного веб-приложения для iOS.Ключевой особенностью приложения является то, что пользователи могут загружать файлы с такими расширениями, как .doc, .ppt, .pdf и т. Д. Чтобы сделать их доступными в автономном режиме, я делаю записи для любых таких файлов в манифесте кэша.

Еще одно предостережение: наиболее удобный способ открыть эти файлы - выскочить из автономного веб-приложения в Safari и открыть файл.Таким образом, я получаю опции «Открыть в {{Application}}», которые предоставляет Safari.Кажется, во время этого переключения происходит отключение от автономного веб-приложения к Safari.

Предполагается, что с чистого листа:

  • Я пошел и стер все данные для этогосайт, используя Настройки-> Safari-> Дополнительно.
  • Я запускаю автономное веб-приложение при подключении к серверу (поэтому мы в режиме онлайн.)
  • Приложение успешно обновляет кэш.
  • Я закрываю веб-приложение и отключаюсь от сервера.
  • Я перезапускаю приложение, и весь навигационный хром работает, поэтому мы знаем, что кеш работает нормально.
  • Я щелкаю ссылку, чтобы открыть файл, для которого требуется Safari, поэтому iOS переключается на Safari и переходит к URL-адресу файла.
  • Safari говорит: «Safari не может открыть страницу, потому что сервер не найден».

Итак, кажется, что кеш этого приложения доступен из автономного веб-приложения, но не из Safari?Может ли кто-нибудь это проверить?

И затем идти вперед, если это действительно так: есть идеи для лучшего способа сделать это?Спасибо!

1 Ответ

1 голос
/ 15 апреля 2012

iOS Safari работает так же, как Safari.Но я предположил, что ваш iOS Safari не загружается успешно, вы знаете, сеть iPhone не такая быстрая, как ваш ПК.Вы должны прикрепить обработчики, чтобы определить, когда ваши автономные данные загружаются успешно.

Проверьте это: http://www.html5rocks.com/en/tutorials/appcache/beginner/ и попробуйте использовать JS для проверки состояния ApplicationCache.

...