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

IPad Home Screen App обновляется при каждом открытии

Я пишу веб-приложение для iPad, используя HTML5 и SenchaTouch. Приложение использует манифест кэша для автономной работы. Как только он будет добавлен на начальном экране и будет открыт без Safari, он будет обновляться каждый раз, когда он будет открыт, даже если вы просто перейдете на главный экран и обратно. Желаемое поведение - оставить приложение, сделать что-то еще, а затем вернуться в приложение со всем, что не тронуто.

Пример аналогичного приложения, отображающего то же (нежелательное) поведение, можно найти здесь: http://ignitedmediadesign.com/WebApp/index.html

Я читал, что использование манифеста кэша должно решить эту проблему на iPhone (http://www.stevesouders.com/blog/2011/06/28/lack-of-caching-for-iphone-home-screen-apps/), но не кажется чтобы сделать трюк для iPhone или iPad.

Есть ли другой способ исправить это? Есть ли какой-то секрет для кэширования файлов манифеста, которые останавливают это, что я, возможно, пропустил?

4b9b3361

Ответ 1

У меня такое впечатление, что это просто характер веб-приложений "домашнего экрана", которые работают за пределами обычного Safari. У меня есть приложение, которое отлично работает в Safari с минимальной экономией времени, но обновленная версия без сафари обновляется каждый раз. EDIT: Даже демонстрационный пример OReilly, который использует манифест кэша, перезагружается каждый раз при добавлении на главный экран.

Возможно, вам захочется изучить "маршруты" (фрагменты URL-адреса), которые указывают на пару контроллеров/действий. Посмотрите на Пример MVC PhoneGap (Если вы не используете PhoneGap, вы можете прокрутить все эти вещи и реализовать свою собственную модель данных и сохранить). Также см. Этот учебник Sencha Touch MVC.

Кроме того, большинство отображаемых сенсорных компонентов sencha, похоже, поддерживают состояние между изменениями активного элемента. Например. У меня есть основная TabPanel, которая содержит все подпанели. При переключении между вкладками на вкладке TabBan TabBar каждая вспомогательная панель поддерживает рендеринг, если только я не установил действие прослушивателя или контроллера.

Надеюсь, что это поможет.