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

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

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

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

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


comment
+1 У меня такая же проблема. Я не смог найти никакого решения. :-(   -  person René    schedule 04.08.2011
comment
@Gunder Я получаю аналогичные отзывы на форумах Sencha, в которых говорится, что iOS не будет обрабатывать приложения для домашнего экрана каким-либо другим способом, но не стесняйтесь следить за ответами здесь   -  person Ryan    schedule 02.09.2011
comment
Смотрите мой ответ здесь: stackoverflow.com/a/40707231/473637   -  person Jeshurun    schedule 20.11.2016


Ответы (1)


У меня сложилось впечатление, что это просто природа веб-приложений «домашнего экрана», которые работают за пределами обычного Safari. У меня есть приложение, которое отлично работает в Safari с минимальным сохранением состояния, но проклятая версия, отличная от Safari, обновляется каждый раз. РЕДАКТИРОВАТЬ: даже продемонстрированный пример O’Reilly, использующий манифест кеша, перезагружается каждый раз при добавлении на главный экран.

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

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

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

person Old McStopher    schedule 18.07.2011